Therapy program modification based on an energy threshold

ABSTRACT

A therapy program is modified to decompose an electrical stimulation signal defined by the therapy program into a plurality of sub-signals based on a comparison between an energy associated with the stimulation signal and a threshold value. An electrical stimulation signal defined by a therapy program may be decomposed into a plurality of subsignals when an electrical stimulation energy of the stimulation signal exceeds the maximum energy output of the medical device or of a channel of the medical device. The energy associated with each one of the subsignals may be less than the energy threshold value of the medical device.

This application claims the benefit of and is a U.S. National Stagefiling under 35 U.S.C. §371 of PCT Application Serial No.PCT/US09/031,967, filed Jan. 26, 2009 and entitled, “THERAPY PROGRAMMODIFICATION BASED ON AN ENERGY THRESHOLD,” which in turn claims thebenefit of U.S. Provisional Application No. 61/048,774, filed Apr. 29,2008 and entitled, “THERAPY PROGRAM MODIFICATION BASED ON AN ENERGYTHRESHOLD.” The entire disclosure of PCT Application Serial No.PCT/US09/031,967 and U.S. Provisional Application No. 61/048,774 isincorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosure relates to medical devices, and, more particularly, todelivery of electrical stimulation by a medical device.

BACKGROUND

Implantable medical devices, such as electrical stimulators ortherapeutic agent delivery devices, may be used to deliver electricalstimulation therapy to patients to treat a variety of symptoms orconditions such as chronic pain, tremor, Parkinson's disease, epilepsy,urinary or fecal incontinence, sexual dysfunction, obesity, mooddisorders (e.g., depression), other psychiatric disorders (e.g.,obsessive-compulsive disorder), gastroparesis or diabetes. In somecases, the electrical stimulation may be used to stimulate muscles,e.g., functional electrical stimulation (FES) to promote muscle movementor prevent atrophy. In the case of an electrical stimulation therapysystem, an implantable medical device may deliver electrical stimulationtherapy via one or more leads that include electrodes located proximateto a target tissue site, which may be proximate to the spinal cord,pelvic nerves, peripheral nerves, the stomach or other gastrointestinalorgans or within the brain of a patient. Alternatively, electricalstimulation may be delivered by one or more electrodes associated with aleadless stimulator.

During a programming session, which may occur during implant of themedical device, during a trial session, or during a follow-up sessionafter the medical device is implanted in the patient, a clinician mayselect therapy parameter values for the medical device that provideefficacious therapy to the patient. In the case of electricalstimulation delivered in the form of pulses, the therapy parameters mayinclude an electrode combination (i.e., particular electrodes selectedfrom an array of electrodes and the polarities of the selectedelectrodes), an amplitude, which may be a current or voltage amplitude,a pulse width, and a pulse rate for stimulation signals. In some cases,such as in current-based electrical stimulation systems, electrodes maybe identified as source or sink electrodes. A group of therapy parametervalues may be referred to as a program in the sense that they drive thestimulation therapy to be delivered to the patient.

SUMMARY

In general, the disclosure is directed to modifying a therapy programbased on a comparison between an energy associated with the therapyprogram and an energy threshold value. In some examples, the therapyprogram may be modified in order to increase an energy efficiency of amedical device that delivers therapy according to the therapy program.In one example, an electrical stimulation signal defined by the therapyprogram is decomposed into a plurality of subsignals based on acomparison between an energy associated with the stimulation signal anda threshold value. For example, an electrical stimulation signal definedby a therapy program may be decomposed into a plurality of subsignalswhen an electrical stimulation energy of the stimulation signal exceedsthe maximum energy output of the medical device or of a channel of themedical device. The energy associated with each one of the plurality ofsubsignals may be less than the energy of the stimulation signal.

In some examples, an original electrical stimulation signal may bedecomposed into a plurality of subsignals while substantiallymaintaining the same physiological effects on the patient as theoriginal stimulation signal. For example, the plurality of subsignalsmay define a signal envelope that substantially conforms to a signalenvelope of the original electrical stimulation signal. A signalenvelope may generally define the amplitude and pulse width parametersof the electrical stimulation. It is believed that in some cases, thesubsignals may be spatially separated, e.g., by about 1 millisecond orless, while generally maintaining the physiological effects of theoriginal stimulation signal due to the carry-over effect. A carry-overeffect generally refers to a physiological effect from an electricalstimulation signal that persists after termination of the signal. Insome examples, a medical device decomposes an original electricalstimulation signal into a plurality of subsignals that are separated bya time duration that is less than the duration of the carry-over effect,such that the patient does not perceive the delivery of the separatesubsignals, and such that the therapeutic effect of the subsignals issubstantially equal to that of the original electrical stimulationsignal.

In some examples, a therapy program may be modified to increase anenergy efficiency of a medical device by decomposing a therapy fieldthat defines an area of tissue to which therapy is delivered into aplurality of therapy subfields, while substantially maintaining the samephysiological effects as the original therapy field. For example, avolume of an aggregate therapy field defined by overlapping theplurality of therapy subfields may substantially equal or be within aparticular percentage (e.g., 10%) of a total volume of the originaltherapy field. A therapy field may be decomposed into a plurality oftherapy subfields by generating a plurality of therapy subprograms thatare each associated with one of the subfields. In one example, themedical device may deliver stimulation according to the therapy programsto generate the therapy subfields in a substantially sequential manner,such that the time at which therapy is delivered according to subsequenttherapy programs is separated by a time duration that is less than theduration of the carry-over effect. In this way, the therapeutic effectof therapy delivery according to a plurality of therapy subfields issubstantially equal to the therapeutic effect of therapy deliveryaccording to the original therapy field.

In one aspect, the disclosure describes a method comprising receivinginformation that defines a therapy program, where the therapy programcomprises at least one stimulation parameter value defining astimulation signal. The method further comprises comparing an energyassociated with the stimulation signal to a threshold value, andmodifying the therapy program to decompose the stimulation signal into aplurality of subsignals based on the comparison between the energyassociated with the stimulation signal and the threshold value.

In another example, the disclosure describes a system comprising amemory that stores a therapy program comprising at least one stimulationparameter defining a stimulation signal, and a processor that determinesa first energy associated with the stimulation signal, compares thefirst energy to a threshold value, and modifies the therapy program todecompose the stimulation signal of the therapy program into a pluralityof subsignals based on the comparison between the energy and thethreshold value. A second energy associated with each of the pluralityof subsignals is less than the first energy associated with thestimulation signal

In another example, the disclosure describes a computer-readable mediumcomprising instructions that cause a processor to receive informationthat defines a therapy program, which comprises at least one stimulationparameter defining a stimulation signal. The computer-readable mediumincludes further instructions to cause the processor to compare anenergy associated with the stimulation signal to a threshold value, andmodify the therapy program to decompose the stimulation signal into aplurality of subsignals based on the comparison between the energyassociated with the stimulation signal and the threshold value.

In another example, the disclosure describes a system comprising meansfor receiving information that defines a therapy program, whichcomprises at least one stimulation parameter defining a stimulationsignal. The system further comprises means for comparing an energyassociated with the stimulation signal to a threshold value, and meansfor modifying the therapy program to decompose the stimulation signalinto a plurality of subsignals based on the comparison between theenergy associated with the stimulation signal and the threshold value.

In another example, the disclosure describes a method comprisingreceiving information that defines a therapy program, where therapydelivery to a patient by a medical device according to the therapyprogram generates a therapy field. The method further comprisescomparing an energy associated with the therapy program to a thresholdvalue, and generating a plurality of therapy subprograms to decomposethe therapy field into a plurality of therapy subfields based on thecomparison between the energy associated with the therapy program andthe threshold value.

In another example, the disclosure describes a system that comprises amemory storing information that defines a therapy program. The therapyprogram comprising at least one stimulation parameter that defines atherapy field. The system further comprises a processor that determinesan energy associated with the therapy program, compares the energyassociated with the therapy program to a threshold value, and generatesa plurality of subprograms that decompose the therapy field into aplurality of therapy subfields based on the comparison between theenergy and the threshold value.

In another example, the disclosure describes a computer-readable mediumcomprising instructions that cause a processor receive information thatdefines a therapy program, where therapy delivery to a patient by amedical device according to the therapy program generates a therapyfield. The instructions further cause the processor to compare an energyassociated with the therapy program to a threshold value, and generate aplurality of therapy subprograms to decompose the therapy field into aplurality of therapy subfields based on the comparison between theenergy associated with the therapy program and the threshold value.

In another example, the disclosure describes a system comprising meansfor receiving information that defines a therapy program, where therapydelivery to a patient by a medical device according to the therapyprogram generates a therapy field. The system further comprises meansfor comparing an energy associated with the therapy program to athreshold value, and means for generating a plurality of therapysubprograms to decompose the therapy field into a plurality of therapysubfields based on the comparison between the energy associated with thetherapy program and the threshold value.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram illustrating an example implantablestimulation system.

FIG. 2 is a functional block diagram illustrating an example implantablestimulator.

FIG. 3A is an example timing diagram of electrical stimulation signalsdefined by a therapy program.

FIGS. 3B-3D are example timing diagrams of stimulation subsignals thatmay be generated based on the electrical stimulation signals of FIG. 3A.

FIG. 4 is a flow diagram illustrating an example technique fordecomposing a stimulation signal into a plurality of subsignals.

FIG. 5 is a flow diagram illustrating another example technique fordecomposing a stimulation signal into a plurality of subsignals.

FIG. 6 is a functional block diagram illustrating various components ofan example programmer.

FIG. 7 is a conceptual diagram illustrating an example surface area of atarget tissue.

FIG. 8 is a schematic illustration of different types of therapy fields.

FIG. 9 is a flow diagram illustrating an example technique fordecomposing a therapy field into a plurality of therapy subfields.

FIG. 10A is a diagram illustrating an example therapy field.

FIGS. 10B and 10C are diagrams illustrating example therapy subfieldsgenerated based on the therapy field of FIG. 10A.

FIG. 11-14 illustrate example graphic user interfaces (GUIs) that may bepresented on a display of a programming device in order to generate analgorithmic model of a therapy field and aid the decomposition of thetherapy field into a plurality of subfields.

FIG. 15 is a flow diagram illustrating an example technique fordetermining and displaying an electrical field model.

FIG. 16 is a flow diagram illustrating an example technique fordetermining and displaying an activation field model.

DETAILED DESCRIPTION

FIG. 1 is a schematic diagram illustrating an example therapy system 10,which includes an implantable medical device (IMD) 14 and medical leads16A, 16B (collectively “leads 16”). Leads 16 each include a plurality ofelectrodes 17A, 17B, respectively. In the example shown in FIG. 1, IMD14 and leads 16 are implanted within a patient 12. Patient 12 willordinarily be a human patient. In some cases, however, the systems,methods, and techniques described herein may be applied to non-humanpatients.

As shown in FIG. 1, system 10 may also include a programmer 20, whichmay be a handheld device, portable computer, or workstation thatprovides a user interface to a clinician. The clinician may interactwith the user interface to program stimulation parameters for IMD 14,which may include, for example, the electrodes 17A, 17B (collectively“electrodes 17”) that are selected to deliver electrical stimulation topatient 12, the polarity of the selected electrodes, and a current orvoltage amplitude, and, in the case of stimulation pulses, a pulse widthand pulse rate (or frequency) of the stimulation signals to be deliveredto patient 12. The stimulation parameters may be arranged into therapyprograms, where each program sets forth an electrode combination (i.e.,the selected electrodes and respective polarities), current or voltageamplitude, and, in the case of stimulation pulses, the pulse width andpulse rate for therapy delivery.

Electrodes 17 are electrically coupled to a stimulation generator withinIMD 14 via one or more conductors of leads 16. Electrodes 17 may beelectrode pads, circular (i.e., ring) electrodes surrounding the body ofleads 16, partial-ring electrodes, segmented electrodes, conformableelectrodes, cuff electrodes, or any other type of electrodes capable offorming unipolar, bipolar or multipolar electrode configurations. In theexample of FIG. 1, electrical stimulation is delivered from IMD 14 to atarget tissue site proximate to spinal cord 18 of patient 12 via one ormore electrodes 17 carried by axial leads 16 implanted within patient12. For example, leads 16 may be implanted within patient 12 such thatelectrodes 17 are positioned external to the spinal cord 18 dura layeror within the epidural space of spinal cord 18. Various combinations ofelectrodes 17 carried by the leads 16 may be used to deliver electricalstimulation to the target tissue site within patient, includingcombinations of electrodes on a single lead 16A or 16B, or combinationsof electrodes on both leads 16. Also, in some examples, electrodes maybe carried by one or more paddle leads in addition to or instead ofleads 16. A paddle lead may include an array of electrodes that arearranged in a two-dimensional pattern, e.g., as columns or rows ofelectrodes.

Spinal cord stimulation (SCS), which is shown in FIG. 1, may be used toeliminate or reduce pain perceived by patient 12, or for othertherapeutic purposes. However, in other examples, IMD 14 may beconfigured for use with a variety of different therapies, such asperipheral nerve stimulation (PNS), peripheral nerve field stimulation(PNFS), deep brain stimulation (DBS), cortical stimulation (CS), pelvicfloor stimulation, gastric stimulation, muscle stimulation (e.g.,functional electrical stimulation (FES) of muscles) and the like. Thestimulation may be configured to alleviate a variety of symptoms orconditions such as, but not limited to, chronic pain, migraines, tremor,Parkinson's disease, sleep apnea, epilepsy, other movement disorders orseizure disorders, urinary or fecal incontinence, sexual dysfunction,obesity, gastroparesis, mood disorders or other psychiatric disorders.Accordingly, although patient 12 and SCS are referenced throughout theremainder of the disclosure for purposes of illustration, an electricalstimulation system 10 may be adapted for use in a variety of electricalstimulation applications.

IMD 14 may be implanted within patient 12, as shown in FIG. 1, or may becarried external to patient 12 and coupled to implanted leads via apercutaneous extension. For SCS applications, IMD 14 may be located, forexample, in the lower abdomen, lower back, or other location to secureIMD 14. In some examples, leads 16 are tunneled from IMD 14 throughtissue to reach the target tissue adjacent to spinal cord 18 forstimulation delivery.

Electrical stimulation generated and delivered by IMD 14 may take theform of stimulation pulses or continuous waveforms, and may becharacterized by controlled voltage levels or controlled current levels.In the case of electrical stimulation by stimulation pulses, thestimulation signals may also be characterized by a pulse width and pulserate. Although the disclosure primarily refers to electrical stimulationpulses, the techniques described herein for modifying a therapy programmay also be applied to therapy programs that define continuous waveformelectrical stimulation signals (e.g., sine waves).

During the course of therapy, whether the therapy is implemented on achronic (i.e., less than temporary) or trial basis, IMD 14 may generateand deliver stimulation signals that are defined by a therapy program.Each stimulation signal delivered by IMD 14 to a target tissue sitewithin patient 12 via leads 16 is associated with an energy, which maybe the product of the power required to generate the stimulation signaland the duration of the stimulation signal, such as the pulse width inthe case of stimulation pulses. The product of the power required togenerate the stimulation signal and the duration of the stimulationsignal may be represented by the notation W-seconds.

The power required to generate the stimulation signal is a product ofthe voltage and current needed to generate the stimulation signal.Therefore, an energy associated with a stimulation signal is a directfunction of voltage, current, and duration of the stimulation signal.For ease of description, as used in the disclosure, however, the energyassociated with an electrical stimulation signal may be considered to bea product of the amplitude and duration (e.g., pulse width) of theelectrical signal. As described above, the amplitude of a stimulationsignal may be a voltage or current amplitude. While the product of theamplitude and duration of a stimulation signal does not directlytranslate into energy, either the voltage amplitude or the currentamplitude for a particular stimulation signal may be considered to besubstantially constant for a given stimulation signal. Thus, the productof either the voltage or current amplitude and the duration of thestimulation signal is directly related to the energy associated with thestimulation signal.

As the product of the pulse width and either the voltage or currentamplitude of a stimulation signal increases, the amount of energyrequired for IMD 14 to generate the stimulation signal increases. Aspreviously indicated, the pulse width of the stimulation signal is aparameter of the therapy program that defines the duration of thestimulation signal. The pulse width may be considered to be an“on-time,” during which IMD 14 delivers stimulation to patient 12. Inexamples in which the stimulation signal is a pulse, an amount of timebetween each pulse may be referred to as the interval between signals.The interval between signals may be considered to be an off-time, duringwhich no stimulation is delivered to patient 12. In examples in whichthe stimulation signal is a continuous waveform, the stimulation energyof the continuous waveform may be a function of the requested intervalof the continuous waveform and amplitude of the signal.

In some cases, IMD 14 has a limited energy output, i.e., a maximumenergy output. The maximum energy output of IMD 14 may be the overallmaximum energy output of IMD 14 or the maximum energy output one or moreof the channels of IMD 14 (if IMD 14 has multiple channels). If IMD 14is a multichannel device, IMD 14 may be capable of delivering electricalstimulation signals to patient 12 through multiple channels. In somecases, IMD 14 may be incapable of generating stimulation signals havingan energy greater than or equal to a threshold value, which may besubstantially equal to the maximum energy output of IMD 14 or for one ormore of the channels of IMD 14. In other cases, IMD 14 may be capable ofgenerating a stimulation signal having an energy greater than or equalto an energy threshold value, but it may be undesirable for IMD 14 toprovide such a stimulation signal for purposes of energy efficiency oftherapy system 10, e.g., in order to help extend the life of the powersource within IMD 14. Thus, the energy threshold value may be, but neednot be, substantially equal to a maximum energy output for IMD 14 or achannel thereof. In some examples, the energy threshold may be apredetermined or user configured value, which may be a function, e.g.,fraction or percentage, of a maximum energy output for IMD 14 or achannel thereof.

In some cases, the amount of energy output that IMD 14 is capable ofproviding changes over time as the energy of a battery or other powersource of IMD 14 depletes. In some cases, as a power source discharges,the power source may begin providing a lower voltage output. Therefore,in some examples, the energy threshold value (e.g., energy thresholdvalue 36 shown in FIG. 2) may be dynamic, and may change over time basedon a change in the amount of energy output that IMD 14 can provide.Additionally, in some examples, the energy threshold value may be basedon a prediction of the amount of energy output that IMD 14 can providein the future, based on past usage of the power source of IMD 14. Forexample, the energy threshold value may be set as at the minimum valueof the maximum energy output of IMD 14 over the useful life of IMD 14,which may be, for example, an average of the maximum energy output ofIMD 14 when the power source is at the maximum level, and the expectedlevel of the power source at the end of the useful life of IMD 14. Asanother example, the energy threshold value may be set at the expectedminimum energy output of the power source at the end of some period oftime, such as about two years to about five years, e.g. about threeyears.

The energy threshold value for IMD 14 may be different in differentexamples, and may be determined by the manufacturer or distributor ofIMD 14, by a clinician or another qualified individual or entity.

In some cases, a clinician generates a therapy program that defines astimulation signal that has an energy that exceeds the energy thresholdvalue of IMD 14. For example, a clinician may determine that astimulation signal that is associated with an energy that exceeds theenergy threshold provides the most effective therapy for the patient'scondition. As another example, the clinician may select an efficacioustherapy program for patient 12 with the aid of a trial stimulationdevice, which may have a greater energy threshold value than the chronicIMD 14. A therapy program may be determined to be effective based on thetherapeutic results provided to patient 12 from therapy deliveryaccording to the therapy program, a minimization of the side effectsfrom therapy delivery according to the therapy program, or a combinationthereof. Accordingly, when the clinician programs IMD 14 with theselected therapy program, the stimulation signal defined by the therapyprogram may have an energy (or may be associated with an energy) thatexceeds the threshold energy value.

IMD 14 may decompose a stimulation signal defined by a therapy programinto a plurality of subsignals, where an energy associated with each oneof the plurality of subsignals is less than the energy associated withthe stimulation signal. This may be useful for situations in which atherapy program defines a stimulation signal that is associated with anenergy that exceeds a threshold energy value for IMD 14. Each signal ofthe plurality of subsignals may be temporally separated by an intervalof time, i.e., an “off-time.” In some examples, the time intervalbetween subsignals may be less than the duration of a carry-over effectgenerated by the delivery of the subsignal. A carry-over effectgenerally refers to a physiological effect from an electricalstimulation signal that persists after termination of the signal. Theduration of the carry-over effect may be specific to patient 12 or maybe generalized for more than one patient. The duration of the carry-overeffect may be a value that is stored within IMD 14 or programmer 20.

By separating the subsignals by a time interval that is less than theduration of the carry-over effect, patient 12 does not feel adiscontinuous therapeutic effect from the plurality of subsignals. Thesubsignals may be spatially separated, e.g., by about 1 millisecond orless, while generally maintaining the physiological effects of theoriginal stimulation signal due to the carry-over effect. Alternatively,time interval between stimulation subsignals may be greater than thetime of the carry-over effect. Techniques for decomposing a stimulationsignal into a plurality of subsignals are described in more detail belowwith reference to FIGS. 3A-3D, 5, and 6.

In some examples, IMD 14 decomposes a stimulation signal defining asignal envelope into a plurality of subsignals that define a signalenvelope that substantially conforms to the signal envelope of thestimulation signal. The substantially similar signal envelopes may helpmaintain the therapeutic effects of the therapy program, even though astimulation signal defined by the therapy program is decomposed intoplurality of subsignals.

A signal envelope may be defined by the amplitude and duration of thestimulation signal. In the case of a stimulation pulse, the duration ofthe stimulation signal is the pulse width of the stimulation signal. Theplurality of subsignals may define a signal envelope that mimics theouter boundaries of the signal envelope of the stimulation signal. Forexample, if the original stimulation signal has a duration of X, each ofthe subsignals may not have the same duration X, but the sum of theduration of the subsignals, including any time intervals between thesubsignals, may substantially equal X. Signal envelopes are described infurther detail below with respect to FIGS. 3A-3D. In other examples, theplurality of subsignals may define a signal envelope that differs fromthe signal envelope of the stimulation signal.

With reference to FIG. 1, a user, such as a clinician, physician orpatient 12, may interact with a user interface of external programmer 20to program IMD 14. Programmer 20 is an external computing device that isconfigured to wirelessly communicate with IMD 14. For example,programmer 20 may be a clinician programmer that the clinician uses tocommunicate with IMD 14. Alternatively, programmer 20 may be a patientprogrammer that allows patient 12 to view and modify therapy parameters.The clinician programmer may include more programming features than thepatient programmer. In other words, more complex or sensitive tasks mayonly be allowed by the clinician programmer to prevent patient 12 frommaking undesired changes to IMD 14.

Programming of IMD 14 may refer generally to the generation and transferof commands, programs, or other information to control the operation ofIMD 14. For example, programmer 20 may transmit programs, parameteradjustments, program selections, group selections, or other informationto control the operation of IMD 14, e.g., by wireless telemetry.Parameter adjustments may refer to initial parameter settings oradjustments to such settings. A program may specify a set of parametersthat define stimulation. A group may specify a set of programs thatdefine different types of stimulation, which may be deliveredsimultaneously using pulses with independent amplitudes or on atime-interleaved basis.

Programmer 20 may be a hand-held computing device that includes adisplay viewable by the user (e.g., a clinician or patient 12) and auser input mechanism that can be used to provide input to programmer 20.For example, programmer 20 may include a small display screen (e.g., aliquid crystal display or a light emitting diode display) that presentsinformation to the user. In addition, programmer 20 may include akeypad, buttons, a peripheral pointing device, touch screen or anotherinput mechanism that allows the user to navigate though the userinterface of programmer 20 and provide input.

If programmer 20 includes buttons and a keypad, the buttons may bededicated to performing a certain function, i.e., a power button, or thebuttons and the keypad may be soft keys that change in functiondepending upon the section of the user interface currently viewed by theuser. Alternatively, the screen (not shown) of programmer 20 may be atouch screen that allows the user to provide input directly to the userinterface shown on the display. The user may use a stylus or theirfinger to provide input to the display.

In other examples, rather than being a handheld computing device or adedicated computing device, programmer 20 may be a larger workstation ora separate application within another multi-function device. Forexample, the multi-function device may be a cellular phone or personaldigital assistant that is configured to run an application thatsimulates one or more functions of programmer 20. Alternatively, anotebook computer, tablet computer, or other personal computer may runan application that enables the computer to function as programmer 20. Awireless adapter may be connected to the personal computer to enable tocomputer to securely communicate with IMD 14.

When programmer 20 is configured for use by the clinician, programmer 20may be used to transmit initial programming information to IMD 14. Thisinitial information may include hardware information of therapy system10, such as the type of lead 16, the position of lead 16 within patient12, the therapy parameters of therapy programs stored within IMD 14 orwithin programmer 20, the energy threshold value for a stimulationsignal generated and delivered by IMD 14, and any other information theclinician desires to program into IMD 14.

With the aid of programmer 20 or another computing device, a clinicianmay select therapy parameter values for therapy system 10, where a groupof therapy parameter values may be stored as a therapy program. Inexamples, each therapy program defines an electrode combination, andrespective values for a voltage or current amplitude, pulse rate (orfrequency), and pulse rate. By selecting particular electrodecombinations, a clinician may target particular tissue sites proximateto spinal cord 18. In addition, by selecting values for amplitude, pulsewidth, and pulse rate, the clinician may generate an efficacious therapyfor patient 12 that is delivered via the selected electrode subset. Dueto physiological diversity, condition differences, and in accuracies inlead placement, the parameters may vary between patients.

During a programming session, the clinician may determine one or moretherapy programs that result in efficacious therapy to patient 12.Patient 12 may provide feedback to the clinician as to the efficacy ofthe specific program being evaluated or the efficacy feedback may beprovided by one or more physiological sensors that sense physiologicalparameters that are indicative of the efficacy of therapy. In someexamples, programmer 20 may assist the clinician in thecreation/identification of therapy programs by providing guidance duringprogramming and/or some methodical system for identifying and testingpotentially beneficial therapy parameters.

Programmer 20 may also be configured for use by patient 12. Whenconfigured as the patient programmer, programmer 20 may have limitedfunctionality in order to prevent patient 12 from altering criticalfunctions or applications that may be detrimental to patient 12. In thismanner, programmer 20 may only allow patient 12 to adjust certaintherapy parameters or set an available range for a particular therapyparameter. Programmer 20 may also provide an indication to patient 12when therapy is being delivered or when IMD 14 or when the power sourcewithin programmer 20 or IMD 14 need to be replaced or recharged.

Whether programmer 20 is configured for clinician or patient use,programmer 20 may communicate to IMD 14 or any other computing devicevia wireless communication. Programmer 20, for example, may communicatevia wireless communication with IMD 14 using radio frequency (RF)telemetry techniques known in the art. Programmer 20 may alsocommunicate with another programmer or computing device via a wired orwireless connection using any of a variety of local wirelesscommunication techniques, such as RF communication according to the802.11 or Bluetooth specification sets, infrared (IR) communicationaccording to the IRDA specification set, or other standard orproprietary telemetry protocols. Programmer 20 may also communicate withanother programming or computing device via exchange of removable media,such as magnetic or optical disks, or memory cards or sticks. Further,programmer 20 may communicate with IMD 14 and other another programmervia remote telemetry techniques known in the art, communicating via alocal area network (LAN), wide area network (WAN), public switchedtelephone network (PSTN), or cellular telephone network, for example.

An example of a commercially available clinician programmer is theMedtronic N′Vision® Programmer Model 8840, marketed by Medtronic, Inc.,of Minneapolis, Minn. An example of a commercially available patientprogrammer is the Medtronic myStim® Programmer, marketed by Medtronic,Inc.

Although FIG. 1 illustrates a system 10 that includes an implantable IMD14 coupled to fully implanted leads 16A, 16B, the techniques describedin this disclosure may be applied to systems including externalstimulators coupled to leads via percutaneous lead extensions, leadlessstimulators (e.g., microstimulators), and the like. A leadlessstimulator may carry an array of electrodes, e.g., rows, columns, orother patterns of electrodes. For leads 16A, 16B or other electrodearrays, electrodes may be formed as any of a variety of electrodes suchas ring electrodes, segmented electrodes, partial-ring electrodes,surface electrodes, needle electrodes, pad electrodes, or the like. Ingeneral, the term “electrode array” may refer to electrodes deployed ona lead comprising a substantially cylindrical cross section at a distalportion, referred to herein as an axial lead, or may refer to electrodedeployed on paddle leads, other lead configurations, or in leadlessarrangements.

FIG. 2 is a functional block diagram illustrating various components ofan example IMD 14. In the example of FIG. 2, IMD 14 includes processor24, memory 26, telemetry interface 28, stimulation signal generator 30,and power source 32. Memory 26 may include computer-readableinstructions that, when executed by processor 24, cause IMD 14 toperform various functions. Memory 26 may include any volatile,non-volatile, magnetic, optical, or electrical media, such as a randomaccess memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM),electrically-erasable programmable ROM (EEPROM), flash memory, or anyother digital media. Memory 26 may store instructions for execution byprocessor 24, stimulation therapy program data, sensor data (ifapplicable), operational and status data of IMD 14 and patient 12, andany other information regarding therapy or patient 12. Stimulationprogram data may include stimulation parameters transmitted fromprogrammer 20, as well as programs defined by such parameters, andprogram groups. Some data may be recorded for long-term storage andretrieval by a user. Memory 26 may include separate memories for storingdifferent types of data.

Memory 26 also stores an energy threshold value 36, which may be themaximum energy output value of IMD 14 or a channel of IMD 14, andtherapy programs 37. As previously indicated, each of therapy programs37 may specify values for a set of parameters for delivery of electricalstimulation therapy, such as an electrode combination, electrodepolarities, current or voltage amplitude, pulse rate, and pulse width.Additional parameters such as duty cycle, duration, and deliveryschedule also may be specified by a therapy program.

Processor 24 may be provided by one or more microprocessors, digitalsignal processors (DSPs), application specific integrated circuits(ASICs), field programmable gate arrays (FPGAs), any other equivalentintegrated or discrete logic circuitry. Functions attributed toprocessor 24 herein may be embodied as hardware, firmware, software, orany combination thereof. Upon selection of one of therapy programs 37 ora group of therapy programs 37 (e.g., a group that includes more thanone therapy program) from memory 26, processor 24 may controlstimulation generator 30 to generate and deliver stimulation accordingto the programs in the group, e.g., simultaneously or on atime-interleaved basis. A group may include a single program or multipleprograms, each of which specifies an electrode combination. For example,under the control of processor 24, stimulation generator 30 may deliverelectrical stimulation therapy via electrodes 17A, 17B of one or moreleads 16, e.g., as stimulation pulses or continuous waveforms.

Stimulation generator 30 may include stimulation generation circuitry togenerate stimulation pulses or waveforms and switching circuitry toswitch the stimulation across different electrode combinations, e.g., inresponse to control by processor 24. Processor 24 may control theswitching circuitry on a selective basis to cause stimulation generator30 to deliver electrical stimulation to selected combinations ofelectrodes 17A, 17B and to shift the electrical stimulation to differentelectrode combinations. In some examples, stimulation generator 30includes multiple current or voltage sources to control delivery ofstimulation energy to selected combinations of electrodes 17A, 17Bcarried by leads 16.

Using an external programmer, such as programmer 20, a user may selectindividual programs for delivery on an individual basis, or combinationsof programs (e.g., groups of therapy programs) for delivery on asimultaneous or interleaved basis. In addition, a user may adjustparameters associated with the programs. The programs may be stored inmemory 26 of implantable IMD 14, as shown in FIG. 2. Alternatively, theprograms may be stored in memory associated with external programmer 20or another external device. In either case, the programs may beselectable and adjustable to permit modification of therapy parameters.In addition, programmer 20 may permit generation of new programs, whichmay be loaded into memory 26, and adjustment of parameters associatedwith existing programs.

IMD 14 may be responsive to the adjustment of programming parameters andelectrode configurations by a user via programmer 20. In particular,processor 24 may receive adjustments to parameters of stored therapyprograms 37 or receive new therapy programs from programmer 20 viatelemetry interface 28. Telemetry interface 28 supports wirelesstelemetry with external programmer 20 or another device by radiofrequency (RF) communication, proximal inductive interaction of IMD 14with external programmer 20, or other techniques. Telemetry interface 28may send information to and receive information from external programmer20 on a continuous basis, at periodic intervals, or upon request fromIMD 14 or programmer 20. To support RF communication, telemetryinterface 28 may include appropriate electronic components, such asamplifiers, filters, mixers, encoders, decoders, modulators,demodulators, and the like.

Power source 32 delivers operating power to the components of IMD 14.Power source 32 may include a small rechargeable or non-rechargeablebattery and a power generation circuit to produce the operating power.In examples in which power source 32 is rechargeable, recharging may beaccomplished through proximal inductive interaction between an externalcharger and an inductive charging coil within IMD 14. In some examples,power requirements may be small enough to allow IMD 14 to utilizepatient motion and implement a kinetic energy-scavenging device totrickle charge a rechargeable battery. In other examples, traditionalnonrechargeable batteries may be used for a limited period of time. As afurther alternative, an external inductive power supply couldtranscutaneously power IMD 14 when needed or desired.

IMD 14 may also include energy calculator 34, parameter generator 38,and clock source 40. Though clock source 40 is shown as a separatecomponent in the functional block diagram of FIG. 2, in some examples,parameter generator 38 may include clock source 40. Moreover, althoughenergy calculator 34 and parameter generator 38 are shown to be a partof processor 24, in other examples, energy calculator 34 and stimulationparameter generator 38 may be a part of separate processors, may befirmware or software executed by separate processors.

Energy calculator 34 may be provided by one or more microprocessors,DSPs, ASICs, FPGAs, any other equivalent integrated or discrete logiccircuitry, and may be embodied as hardware, firmware, software, or anycombination thereof. Energy calculator 34 determines the energy of atherapy program based on the pulse width and amplitude of thestimulation signal defined by the parameter values of the therapyprogram. The therapy program may be selected from therapy programs 37stored in memory 26, or the therapy program may be transmitted to IMD 14by external programmer 20.

Processor 24 may compare the determined energy of the selected therapyprogram to the energy threshold value 36. For example, upon receivinginformation indicative of a selected therapy program, e.g., viaprogrammer 20 or by selecting a therapy program from memory 26 of IMD14, processor 24 may control energy calculator 34 to determine an energyassociated with the stimulation signal defined by the selected therapyprogram. Energy calculator 34 may determine the energy associated withthe stimulation signal by, for example, multiplying the amplitude of thesignal with the duration parameter value (e.g., the pulse width) of thestimulation signal. Upon determining the energy of the stimulationsignal, processor 24 may compare the determined energy level with theenergy threshold value 36 of IMD 14, which may be the maximum energyoutput of IMD 14, the maximum energy output of a channel of IMD 14 orthe maximum desirable energy output of IMD 14.

In some examples, stimulation parameter generator 38 decomposes thestimulation signal defined by the therapy program based on a comparisonbetween the energy associated with the stimulation signal and energythreshold value 36. For example, if the energy associated with thestimulation signal is greater than energy threshold value 36, processor24 may control stimulation parameter generator 38 to generate aplurality of stimulation subsignals based on the stimulation signal.Alternatively, processor 24 may control stimulation parameter generator38 to generate a plurality of stimulation subsignals if the energyassociated with the stimulation signal is greater than or equal to thethreshold value 36. An energy associated with each of the subsignals maybe less or equal to the energy of associated with the stimulationsignal. In some cases, the energy associated with each one of theplurality of subsignals is less than energy threshold value 36.Furthermore, in some examples, a total energy of the subsignals may beless than, equal to or greater than an energy associated with thestimulation signal.

On the other hand, if processor 24 determines that the energy of thestimulation signal defined by a therapy program and determined by energycalculator 34 is less than energy threshold value 36, parametergenerator 38 may not subdivide the signals into subsignals, andprocessor 24 may control stimulation generator 30 to deliver therapy topatient 12 in accordance with the original stimulation signal defined bythe therapy program. In some examples, however, parameter generator 38may subdivide the signals into a plurality of subsignals even though theenergy of the stimulation signal of the received therapy program is lessthan the energy threshold value 36. This may help, for example, conservepower source 32.

If the energy of the stimulation signal defined by the selected therapyprogram exceeds (e.g., is greater than) or is equal to energy thresholdvalue 36, parameter generator 38 may modify the therapy program todecompose the stimulation signal into a plurality of subsignals. In oneexample, stimulation parameter generator 38 modifies the parametervalues of the therapy program defining the stimulation signal in orderto generate the stimulation parameter values for each subsignal.Stimulation parameter generator 38 may define the pulse width for theplurality of subsignals and the interval of time between subsignals,i.e., the time between subsignals during which IMD 14 is not providingstimulation to the target tissue. Example techniques that may beimplemented by stimulation parameter generator 38 to create parametervalues based on the received therapy program are described below withreference to FIGS. 3A-3D, 4, and 5.

FIGS. 3A-3D are schematic timing diagrams illustrating exampletechniques for decomposing a stimulation signal into a plurality ofsubsignals, where each of the subsignals has an energy that is less thanan energy of the stimulation signal. That is, the energy required togenerate each of the subsignals is less than the energy required togenerate the stimulation signal.

FIG. 3A is a timing diagram illustrating electrical stimulation signals42A and 42B (collectively referred to as “stimulation signals 42”)defined by a therapy program. The therapy program may be, for example, atherapy program determined to provide efficacious therapy to patient 12.The therapy program may be selected by patient 12, clinician orprocessor 24 (e.g., from memory 26) for delivery of stimulation therapyto patient 12. In the example shown in FIG. 3A, the signals 42 eachdefine stimulation pulses. Although two signals 42A, 42B are shown inFIG. 3A, the therapy program may define a plurality of pulses 42 in anindefinite or definite pulse train.

FIG. 3A illustrates a time interval 56 between stimulation pulses 42A,42B. The length of interval 56 is a function of the frequency or pulserate of the pulses 42 defined by the therapy program, as well as thepulse width of each pulse 42A, 42B. That is, the frequency of pulses 42defined by the therapy program may be an inverse of the sum of the pulsewidth and the time interval 56 between pulses 42A, 42B. In FIG. 3A,interval 56 is the difference between time T₂, at which the second pulse42B begins, and time T1, at which the first pulse 42A terminates. Theduration (or pulse width) of stimulation pulses 42A, 42B isapproximately the same. In other examples, however, stimulation pulses42A, 42B may have different durations. Each pulse 42A, 42B defines astimulation envelope 45 (shown in FIG. 3B), which represents the generalamplitude and duration of the stimulation signal that has beendetermined to provide efficacious therapy to patient 12.

Prior to delivering therapy to patient 12 according to the selectedtherapy program, energy calculator 34 (e.g., under the control ofprocessor 24) may determine the energy of each of the stimulationsignals 42 defined by the therapy program. As previously described, insome cases, the energy is generally be determined by multiplying theamplitude A₁ of one of the stimulation signals 42 by the respectiveduration (T₁ or T₃−T₂) of the respective electrical stimulation signal42. Processor 24 may compare the determined energy of one of thestimulation signals 42 defined by the current therapy program to theenergy threshold value 36 (FIG. 2) stored in memory 26. In the exampleof FIG. 3A, the energy of each of the stimulation signals 42 is greaterthan the energy threshold value 36. Accordingly, stimulation parametergenerator 38 may decompose each of the signals 42 into a plurality ofsubsignals that each have an energy lower than one of the signals 42,and, in some cases, lower than the energy threshold value 36.

FIG. 3B illustrates a schematic timing diagram of a subsignals 44A, 44B(collectively referred to as “subsignals 44”) that may be generated bystimulation parameter generator 38 based on signals 42, respectively.Stimulation parameter generator 38 may assign the amplitude A₁ of thestimulation signals 42 defined by the therapy program (the “original”stimulation signal) to each of the subsignals 44. In order to reduce theenergy associated with each of the subsignals 44, however, parametergenerator 38 may decrease the duration (i.e., pulse width in the case ofelectrical stimulation pulses) of the subsignals 44 compared to signals42. For example, with respect to stimulation signal 42A having aduration T₁, a duration of a subsignal 44A generated based on signal 42Amay be decreased to T₄. Accordingly, stimulation subsignal 44A has apulse width T₄, which is less than the pulse width T₁ of signal 42A. Inthe example shown in FIG. 3B, pulse width T₄ may denote the maximumpulse width at which subsignal 44A with amplitude A₁ has an energysubstantially equal to or less than the energy threshold value 36.

In examples in which the difference between time T₄, at which thesubsignal 44A ends, and the time T₁, which indicates the pulse width oforiginal stimulation signal 42A, is substantially equal to or less thanthe duration of a carry-over effect generated by delivery of stimulationsubsignal 44A to patient 12, parameter generator 38 may not decomposeoriginal stimulation signal 42A into a plurality of subsignals. Instead,a single subsignal 44A may provide efficacious therapy in place oforiginal stimulation signal 42A. As a result, the subsignal 44Agenerated based on original signal 42A may not maintain the same signalenvelope 45A defined by the original stimulation signal 42A. Althoughsignal envelope 45A may generally represent a signal that providesefficacious therapy to patient 12, in the case of subsignal 44A,efficacious therapy may be achieved by the delivery of subsignal 44A inconjunction with the carry-over effect from the delivery of subsignal44A.

Similarly, parameter generator 38 may also decrease the duration (T₂−T₃)of stimulation signal 42B in order to decompose stimulation signal 42Binto a subsignal 44B with a lower energy. As shown in FIG. 3B, theduration of subsignal 44B is generally equal to time T₅−T₂. The durationof subsignal 44B may denote the maximum pulse width at which subsignal44B with amplitude A₁ has an energy substantially equal to or less thanthe energy threshold value 36. Just as with the decomposition ofsubsignal 42A, in examples in which the difference between time T₅, atwhich the subsignal 44B ends, and the time T₃, which indicates the pulsewidth of original stimulation signal 42B, is substantially equal to orless than the duration of a carry-over effect generated by delivery ofstimulation subsignal 44B to patient 12, parameter generator 38 may notdecompose original stimulation signal 42B into a plurality ofsubsignals.

In order to substantially maintain the frequency between signals 42defined by the therapy program, parameter generator 38 may also selectan “off-time” 46A, 46B for each subsignal 44A, 44B, respectively, duringwhich IMD 14 does not delivery therapy to patient 12. Off-time 46A maybe substantially equal to the difference between times T₁ and T₄ (i.e.,T₁−T₄), and off-time 46B may be substantially equal to the differencebetween times T₃ and T₅ (i.e., T₃−T₅). Off-time 46A may be combined withthe original time interval 56 between stimulation signals 42A, 42Bdefined by the therapy program in order to substantially maintain thefrequency of stimulation signals defined by the therapy program. A pulserate parameter of stimulation signals 42 may be modified based on pulsewidth T₄ and off-times 46A, 46B. The pulse rate for subsignals 44A, 44Bmay be determined as the inverse of the sum of the pulse width T₄ andoff-times 46A, 46B, respectively.

Parameter generator 38 may transmit the modified therapy parameters,e.g., modified pulse width T₄ and pulse rate of subsignals 44, or all ofthe therapy parameters, e.g., the amplitude A₁, modified pulse width T₄,and pulse rate for subsignal 44, as well as a time interval 56 betweenoriginal stimulation signals 42, to processor 24, and processor 24 maycontrol stimulation generator 30 to generate and deliver therapyaccording to a modified therapy program defining a stimulation pulsewith pulse width T₄, and substantially similar amplitude A₁, pulse rate(i.e., frequency of signals 42 may be defined by the inverse of the sumof the pulse width T₄ and the off-time), and electrode combination asthe selected therapy program. In some examples, parameter generator 38may transmit modified pulse width T₄ to processor 24, which may itselfbe sufficient to indicate or define the change from the original therapyprogram defining stimulation signals 42 to a therapy program definingdecomposed stimulation signals comprising respective subsignals 44. Ifdesired, the modified therapy parameters may be stored within memory 26as a therapy program 37, or with unmodified therapy parameters of theoriginal program as a modified program 37.

Subsignals 44A, 44B are examples of one type of decomposed stimulationsignal that provides efficacious therapy to patient 12. In otherexamples, stimulation parameter generator 38 may decompose each originalsignal 42A, 42B into more than one subsignal. FIG. 3C illustrates aschematic timing diagram that illustrates a plurality of subsignals48A-48F (collectively referred to as “subsignals 48”) and 49A-49B(collectively referred to as “subsignals 49”) generated based on eachoriginal stimulation signal 42A, 42B (FIG. 3A).

Each of the subsignals 48, 49 has an energy or is otherwise associatedwith an energy that is lower than a total energy associated withoriginal stimulation signals 42A or 42B, and, in some cases, each of thesubsignals 48, 49 has an energy lower than the energy threshold value 36of IMD 14. In addition, a total energy of the subsignals 48A-48C and 49Amay be less than, equal to or greater than the energy associated withthe original stimulation signal 42A, and a total energy of thesubsignals 48D-48F and 49B may be less than, equal to or greater thanthe energy associated with the original stimulation signal 42B. In thelatter case, in which a total energy of the subsignals 48, 49 is greaterthan the energy of stimulation signal 42A, 42B, respectively, it may bedesirable to distribute the energy consumption of IMD 14 over time dueto energy throughput limitations of IMD 14. For example, if it isundesirable for IMD 14 to deliver therapy to patient 14 with a therapyprogram that is associated with certain energy over a certain period oftime, it may be desirable to decompose the stimulation signal defined bythe therapy program into subsignals in order to break up the energyoutput requirements of IMD 14.

In the example shown in FIG. 3C, stimulation signal 42A is decomposedinto three subsignals 48A-48C and one subsignal 49A, which defines apulse train 51. Stimulation signal 42B is decomposed into a plurality ofsubsignals 48D-48F, 49B defining a substantially similar pulse train assubsignals 48A-C, 49A. In other examples, parameter generator 38 maygenerate any suitable number of subsignals based on each of the originalstimulation signals 42 defined by the therapy program. The number ofsubsignals in each pulse train 51 may depend on various factors, suchas, for example, the duration of the carry-over effect generated bydelivery of a subsignal and the energy threshold value 36 of IMD 14. Forexample, in some cases, it may be desirable to decompose each of theoriginal signals 42 into a plurality of subsignals, such that eachsubsignal is separated by a time interval less than or equal to theduration of the carry-over effect.

Parameter generator 38 may modify at least one parameter value of theselected therapy program to define subsignals 48, 49. In the exampleshown in FIG. 3C, parameter generator 38 maintains the amplitude A₁ ofsignals 42 for each of the subsignals 48, 49. In order to reduce theenergy associated with each of the subsignals 48, 49, however, parametergenerator 38 may decrease the duration (i.e., pulse width in the case ofelectrical stimulation pulses) T₁ and (T₃−T₂) of stimulation signals42A, 42B, respectively (FIG. 3A). The pulse width of each of thesubsignals 48, 49 may be selected to be less than or equal to themaximum permissible pulse width T₄ (FIG. 3B), which may be, for example,the maximum pulse width at which the energy of each of the subsignals48, 49 having amplitude A₁ does not exceed the threshold energy value36.

In FIG. 3C, the time interval between the end of subsignal 48A and theend of the pulse envelope 45A defined by original stimulation signal 42A(i.e., T₁−T₅) is greater than the duration of a carry-over effect thatresults from delivery of subsignal 48A having pulse width T₅ andamplitude A₁. Accordingly, parameter generator 38 may decompose each ofthe stimulation signals 42 into more than one subsignal in order tomaintain the therapeutic effects of the stimulation delivery. Forexample, as shown in FIG. 3C, parameter generator 38 may decomposesubsignal 42A (FIG. 3A) into a plurality of subsignals by repeatingsubsignal 48A, as shown by subsequent subsignals 48B, 48C, until astimulation envelope similar to envelope 45A defined by the originalstimulation signal 42A is achieved.

In the example shown in FIG. 3C, subsignal 49A represents a subsignalsimilar to subsignal 48A that has been cut short at time T₁, therebydefining a subsignal 49A with a shorter pulse width. Subsignal 48A isrepeated until reaching time T₁, which indicates the end of the originalstimulation signal 42A. Parameter generator 38 may then determine thepulse width (denoted as T₆) of subsignal 49A that remains at the end ofthe pulse train 51. In the example shown in FIG. 3C, pulse width T₆ ofsubsignal 49A is generally equal to the difference between pulse widthT₁ of signal 42A (or the signal envelope 45A) and the sum of the pulsewidths of each subsignal 48A-48C and the time interval 50 betweensubsignals 48. In this way, parameter generator 38 decomposesstimulation signal 42A into a plurality of subsignals 48A-48C, 49A andgenerates a pulse train 51 that may be substituted for stimulationsignal 42A. As previously indicated, it may be desirable to maintainstimulation envelope 45A of signal 42A in order to help maintain thetherapeutic effects of stimulation therapy based on the therapy programdefining stimulation signal 42. Subsignals 48D-48F, 49B may be generatedin substantially similar manner as subsignals 48A-48C, 49A,respectively. Subsignals 48D-48F, 49B may be generated based on signal42B (FIG. 3A) and the respective signal envelope 45B.

In the example shown in FIG. 3C subsignals 48A-48C and 48D-48F are shownto have substantially similar pulse widths. In other examples, each ofsubsignals 48A-48C generated based on subsignal 42A, and each one ofsubsignals 48D-48F generated based on subsignal 42B may have differentpulse widths. For example, processor 24 may set the pulse width ofsubsignal 48A such that the energy associated with subsignal 48A isequal to the threshold energy value 36 of IMD 14. Processor 24 may thenset the pulse width of subsignal 48B to be less than the pulse width ofsubsignal 48A such that the energy associated with subsignal 48B is lessthan the threshold value. Other variations between subsignal 48, 49durations (i.e., pulse widths in the case of stimulation pulses) arecontemplated.

As shown in FIG. 3C, subsignal 49A is shown at the end of the pulsetrain 51. However, processor 24 may generate therapy parameters suchthat subsignal 49A occurs earlier in pulse train 51 rather than at theend of pulse train 51. For example, processor 24 may program subsignal49A to occur between subsignal 48A and subsignal 48B.

Processor 24 of IMD 14 may select the time interval 50 betweensubsignals 48, 49. In one example, processor 24 may set time interval 50such that each time interval 50 less than the duration of the carry-overeffect from delivery of stimulation signal 48, respectively. Thisminimizes the possibility that patient may feel any adverse consequencesof therapy delivery to patient 12 according to the plurality ofsubsignals 48, 49 compared to the delivery of original stimulationsignals 42 defined by a therapy program. In particular, if each timeinterval 50 is less than the duration of the carry-over effect generatedby delivery of each subsignal 48, respectively, patient 12 may not feelany interruptions between the delivery of stimulation subsignals 48, 49,and the physiological effects from therapy delivery by subsignals 48, 49may be substantially similar to therapy delivery by signal 42. In otherexamples, however, processor 24 may set each time interval 50 to begreater than the duration of the carry-over effect.

Based on the pulse width T₅ of subsignals 48 and the time interval 50between subsignals 48, 49, parameter generator 38 may determine a pulserate for the subsignals 48, 49. For example, parameter generator 38 maydetermine a period for each subsignal 48, which substantially equals thesum of the pulse width T₅ and a time interval 50. The pulse rate maythen be determined as the inverse of the period.

Processor 24 may control stimulation generator 30 (FIG. 2) to deliverstimulation to patient 12 according to the modified therapy program. Inparticular, under the control of processor 24, stimulation generator 30may deliver stimulation according to the plurality of subsignals 48, 49.For example, stimulation generator 30 may generate and deliverstimulation based on the pulse train comprising subsignals 48, 49, wherethe rate at which the pulse train is repeated is based on the frequencyof the original therapy program. In the example shown in FIG. 3C, theinterval 56 between stimulation signals 42 is maintained between thepulse trains defined by 48, 49.

In some examples, parameter generator 38 may transmit the modifiedtherapy program to stimulation generator 30. The modified therapyprogram may define pulse width T₅ of each subsignal 48, pulse width T₆of subsignal 49. In addition, the modified therapy program may define atleast one of the pulse rate of subsignal 48A-48C, 49A within pulse train51 (or the pulse rate of subsignals 48D-48F, 49B associated withoriginal stimulation signal 42B or the time interval 50 betweensubsignals 48A-48C, 49A and between signals 48D-48F, 49B. The pulse rate(or frequency) of subsignals 48A-48C, 49A may be defined by the inverseof the sum of the pulse width T₅ and the time interval 50 betweensubsignals 48A-48C, 49A. The pulse rate of subsignals 48D-48F, 49B maybe substantially similar to the pulse rate of subsignal 48A-48C, 49A.

In other examples, parameter generator 38 may transmit all the therapyparameter values for the modified therapy program, rather than only theparameter values that were actually modified. If desired, the modifiedtherapy parameters may be stored within memory 26 as a therapy program37, or with unmodified therapy parameters of the original program as amodified program 37. Processor 24 may control stimulation generator 30to generate and deliver therapy according to a modified therapy program.

FIG. 3D illustrates a schematic timing diagram illustrating anotherexample of a technique for decomposing each of the stimulation signals42 (FIG. 3A) into a plurality of subsignals 53A-53H (collectivelyreferred to as “subsignals 53”), with the aid of a timing window 52. Asshown in FIG. 3D, timing window 52 defines a timing window for subsignal53A. The timing windows for subsignals 53B-53H may be substantiallysimilar to timing window 52. As described in further detail below,timing window 52 defines the period and pulse rate for each of thesubsignals 53A-53H.

In the example shown in FIG. 3D, the plurality of subsignals 53A-53Dassociated with original stimulation signal 42A define a pulse train54A. Pulse train 54B is defined by subsignals 53E-53H in a mannersubstantially similar to that of pulse train 54A. Each pulse train 54may be separated by the original time interval 56 between stimulationsignals 42, e.g., based on the frequency and pulse width of stimulationsignals 42 defined by the original therapy program.

Subsignals 53A-53D are repeated within pulse train 54A until the pulsetrain 54A substantially mimics stimulation envelope 45A defined by theoriginal stimulation signal 42A. Similarly, subsignals 53E-53H arerepeated within pulse train 54B to substantially mimic stimulationenvelope 45B defined by the original stimulation signal 42B. Subsignals53 within each pulse train 54A, 54B are spaced from a subsequentsubsignal 53 by time interval 55. In some examples, parameter generator38 may be programmed with values defining timing window 52. Timingwindow 52 may have an arbitrary duration that is less than the duration(e.g., the pulse width) of stimulation signal 42. The pulse width ofeach of the subsignals 53 may be selected such that the energyassociated with each of the subsignals 53 is less than or equal to thethreshold value 36 of IMD 14. In some examples, the total energy ofsubsignals 53 may be less than or equal to the energy associated withstimulation signal 42A, while in other examples, total energy ofsubsignals 53 may be greater than or equal to the energy associated withstimulation signal 42A. In some examples, interval 55 is less than theduration of a carry-over effect that results from delivery of one of thestimulation signals 53.

In one example, parameter generator 38 sets the duration of timingwindow 52 based on a ratio between the duration of the originalstimulation signal 42A defined by the therapy program and the desiredmaximum duration of each subsignal 53. For example, if stimulationsignal 42A defined by the therapy program comprises a period ofapproximately 10 milliseconds (ms) (i.e., an approximately 100 Hzsignal), timing window 52 may have a duration of approximately 0.01 ms,which represents a 1/1000 ratio. The numerical values of the stimulationpulse, timing window interval, and ratio are merely examples. Differentexamples may use different parameters with different values than theexample provided. Timing window 52 may not be less than the inverse ofthe maximum pulse rate that IMD 14 can generate.

In general, parameter generator 38 may select the duration of eachsubsignal 53 and/or the duration of the time interval 55 betweensubsequent subsignals 53 in order to determine the parameter values ofsubsignals 53. For example, using the decomposition of originalstimulation signal 42A as an example, in one example, parametergenerator 38 may substantially maintain amplitude A₁ of stimulationsignals 42 for subsignals 53A-53D, and modify the pulse width of each ofthe subsignals 53A-53D with the aid of timing window 52.

Timing window 52 may provide a time frame for determining the pulsewidth of each subsignal 53 and the time interval 55 between subsignals53. Parameter generator 38 may select the pulse width of each subsignal53 and determine the time interval 55 between subsequent subsignals 53based on timing window 52. For example, parameter generator 38 maydetermine the pulse width for subsignal 53A at which the energy ofsubsignal 53A with an amplitude A1 is less than or equal to the energythreshold value 36 (FIG. 2). Parameter generator 38 may then determinetime intervals 55 between subsignals 53A-53D to be the differencebetween the duration of timing window 52 and the selected pulse width ofsubsignal 53.

As another example, parameter generator 38 may select the time interval55 between subsequent subsignals 53A-53D prior to determining the pulsewidth of subsignals 53A-53D For example, parameter generator 38 mayselect the time interval 55 such that the pulse rate of subsignals53A-53D in pulse train 54A does not exceed the switching capability ofIMD 14. Parameter generator 38 may then determine the pulse width ofeach subsignal 53, e.g., to be substantially equal to the differencebetween the duration of timing window 52 and the selected time interval55.

As another example, parameter generator 38 may select the parameters forpulse train 54A such that the pulse width of each subsignal 53A-53D inpulse train 54A and the time interval 55 between subsignals 53A-53Dresults in a time interval 55 that does not exceed (e.g., is not greaterthan or equal to) the carryover effect from delivery of one of thestimulation subsignals 53A-53D. The duration of subsignal 53A may affectthe duration of the carryover effect, hence, the duration of subsignal53A may affect the duration of time interval 55. However, the durationof subsignal 53A and time interval 55 may be substantially equal totiming window 52.

Parameter generator 38 may select the parameters (e.g., pulse width,pulse rate, and/or time intervals 55) for subsignals 53E-53H of pulsetrain 54B using techniques substantially similar to those described withrespect to subsignals 53A-53D of pulse train 54A.

After determining a pulse width for subsignals 53, energy calculator 34(FIG. 2) of IMD 14 may determine an energy associated with eachsubsignal 53 using the techniques for determining an energy associatedwith a stimulation signal. Processor 24 may compare the energyassociated with each subsignal 53 to energy threshold value 36. If theenergy associated with each subsignal 53 is less than the energythreshold value 36, parameter generator 38 may transmit the modifiedtherapy parameters to processor 24, memory 26 or directly controlstimulation generator 30 to generate and deliver therapy based on themodified therapy parameters. The modified parameters may include thepulse width of each subsignal 53, as well as the frequency of thesubsignals 53 within the pulse train 54 (i.e., the time interval 55between subsignals 53).

The frequency of subsignals 53 within each pulse train 54 may bedetermined based on the timing window 52. For example, clock source 40(FIG. 2) of IMD 14 may output a clock signal that defines a period thatis substantially equal to the duration of timing window 52. Parametergenerator 38 may then generate instructions that cause stimulationgenerator 30 to transmit subsignal 53 every period of clock source 40.The pulse rate of subsignals 53 within each pulse train 54 may be theinverse of the duration of timing window 52 because the size of thetiming window effectively defines a period of subsignals 53. Parametergenerator 38 may generate a subprogram comprising the pulse width ofsubsignals 53 and time interval 55.

In another example, if the energy associated with subsignal 53 definedby the timing window is greater than the threshold value 36, parametergenerator 38 may reduce the duration of timing window 52. For example,decreasing the duration of time window 52 may effectively decrease thetime interval 55 between stimulation subpulses 53, effectively decreasethe pulse width of each stimulation pulse 53 or a combination ofdecreasing the time interval 55 and pulse width of subpulses 53. Aftermodifying timing window 52, energy calculator 34 may redetermine theenergy of each subsignal 53, and processor 24 may compare the determinedvalue to energy threshold value 36. If the energy associated with thesubsignal is still greater than the energy threshold value 36, theprocess of reducing the size of the timing window may repeat until theenergy associated with an electrical pulse defined by the timing windowis less than the energy threshold value.

In another example, if the energy associated with subsignal 53 isgreater than the maximum energy threshold value, parameter generator 38may maintain the same duration of timing window 52 and increase the timeinterval 55 between subsignals 53 or decrease the pulse width ofsubsignals 53.

In each of the examples described above with respect to FIGS. 3A-3D, themodified therapy programs may be stored within IMD 14 and/or programmer20. The modified therapy programs may be referred to as subprograms. Aclinician may later analyze the modifications made to the therapyprograms in order to determine whether any hardware changes to therapysystem 10 or other changes to the therapy programs are desirable.

FIG. 4 is a flow diagram illustrating an example technique that IMD 14may implement in order to determine whether to decompose an electricalstimulation signal defined by a therapy program into a plurality ofsubsignals. While IMD 14 is primarily referred to in the description ofFIG. 4, in other examples, programmer 20 or another computing device mayperform any part of the technique shown in FIG. 4 in order to determinewhether to modify a therapy program to decompose a stimulation signalinto a plurality of subsignals that are each associated with a lowerenergy than the stimulation signal.

Processor 24 of IMD 14 may receive information that defines a therapyprogram (58). For example, processor 24 may receive a signal fromprogrammer 20 or another device via telemetry interface 28, or processor24 may select a therapy program from memory 26 (FIG. 2). Energycalculator 34 determines the energy associated with the receivedstimulation signal (60). Energy calculator 34 may determine the energyassociated with the received stimulation signal by, for example,multiplying the duration of the electrical stimulation signal defined bythe therapy program with the amplitude of the electrical stimulationsignal.

Processor 24 may compare the DETERMINED energy of the stimulation signalwith the energy threshold value 36 stored in memory 26 (62). In oneexample, energy threshold value 36 is the value of the maximum energy ofa stimulation signal that IMD 14 may generate. If the determine energyis less than the energy threshold value 36 (NO of 62), processor 24 maycontrol stimulation generator 30 to generate and deliver therapy topatient 12 based on the therapy program defining the stimulation signal(64). On the other hand, if the determined energy is greater than orequal to the energy threshold value 36, or, in some cases, greater thanor equal to the energy threshold value 36 (YES of 62), parametergenerator 38 may modify the therapy program to decompose the stimulationsignal defined by the therapy program into a plurality of subsignalsthat each have an energy that is less than or equal to the energythreshold value 36 (66).

In one example, parameter generator 38 generates the parameter valuesfor the plurality of subsignals by determining an acceptable pulse widthof a subsignal having substantially the same amplitude as thestimulation signal defined by the therapy program. The acceptable pulsewidth may be the pulse width at which a single subsignal has an energythat is less than or equal to the energy threshold value. Parametergenerator 38 may also determine the intervals of time between eachsubsignal. For example, parameter generator 38 may generate an intervalof time such that each subsignal is spatially separated by an intervalof time that is less than the duration of a carry-over effect of thestimulation signal.

Stimulation generator 30 may generate a subprogram comprising therapyparameters based on the modified therapy program (68). For example,parameter generator 38 may provide the pulse width and pulse rate of thesubsignal to processor 24 for control of stimulation generator 30, wherethe pulse rate is defined by the pulse width and the spacing betweensubsignals. Parameter generator 38 or processor 24 may determine thespacing between subsignals based on the provided pulse rate. In someexamples, the modified therapy program may be stored in memory 26.

FIG. 5 is a flow diagram illustrating another example technique thatparameter generator 38 may implement in order to decompose an electricalstimulation signal defined by a therapy program into a plurality ofsubsignals. Processor 24 of IMD 14 may receive information that definesa therapy program (58). Energy calculator 34 determines the energyassociated with the stimulation signal defined by the therapy program(60). Processor 24 compares the determined energy of the stimulationsignal with the energy threshold value 36 stored in memory 26 (62) inorder to determine whether to decompose the stimulation signal definedby the therapy program into a plurality of subsignals that each have alower energy than the stimulation signal. In some examples, the energythreshold value is the value of the maximum energy that IMD 14 mayproduce.

If the determined energy is less than the energy threshold value 36 (NOof 62), processor 24 may control stimulation generator 30 to generateand deliver therapy to patient 12 based on the therapy program definingthe stimulation signal (64).

On the other hand, if the determined energy is greater than, and,sometimes, equal to, the threshold energy value 36 (YES of 62),parameter generator 38 decomposes the stimulation signals and generatestherapy parameter values to define a plurality of subsignals that eachhave an energy lower than the energy of the stimulation signal. In theexample technique shown in FIG. 5, parameter generator 38 determines thetime interval 55 between subsignals 53 (FIG. 3D) and the duration of thesubsignals 53 with the aid of timing window 52 (78). For example,parameter generator 38 may select each time interval 55 to be less thanor equal to the duration of a carry-over effect of the stimulationsignal. Parameter generator 38 may also set the pulse width of eachsubsignal 53, where the pulse width is the difference between the sizeof timing window 52 and a single time interval 55. After setting thepulse width and time interval 52 for a given timing window 52, energycalculator 34 may determine the energy of the resulting subsignal 53(80).

Processor 24 may compare the energy of one or more subsignals 53 and theenergy threshold value 36 (82). If the determined energy for thesubsignal 53 is greater than energy threshold value 36 (YES of 82),parameter generator 38 may maintain the selected time interval 55between subsignals 53 and decrease the duration of the timing window 52,thereby decreasing the pulse width and substantially maintaining thesame time interval 55 (84). In another example, parameter generator 38may maintain the duration of timing window 52, and increase timeinterval 55 between pulses 53, thereby decreasing the pulse width (84).In yet another example, parameter generator 38 may increase the durationof timing window 52 (84). In such examples, the pulse width ofsubsignals 53 may be increased to the duration of timing window 52, andthe amplitude of subsignals 53 may be decreased. However, in some cases,it may be undesirable to define a time interval 55 that is greater thanthe duration of a carry-over effect from delivery of the electricalstimulation subsignal.

After reducing the pulse width of subsignal 53, energy calculator 34 mayredetermine the energy associated with subsignal 53, and processor 24may compare the energy to the threshold energy value 36. The process ofdecreasing the pulse width of subsignal 53 may be repeated until theenergy associated with the subsignal 53 is less than energy thresholdvalue 36. Processor 24 may control stimulation generator 30 to generateand deliver stimulation signals according to a subprogram comprisingtherapy parameters based on the modified therapy program (86).

Parameter generator 38 may determine the frequency of subsignals 53within each pulse train 54 associated with the original stimulationsignal 42. In one example, the frequency of subsignals 53 within eachpulse train 54 is determined based on the duration of timing window 52.For example, parameter generator 38 may cause clock source 40 togenerate a clock signal whose period is substantially equal to theduration of the timing window 52. Parameter generator 38 may provide thepulse width and off-time to stimulation generator 30 at every period ofthe clock signal generated by clock source 40.

FIG. 6 is a functional block diagram illustrating various components ofan external programmer 20. The techniques for decomposing a stimulationsignal defined by a therapy program into a plurality of subsignalsdescribed above with respect to the various components of IMD 14 may beperformed by external programmer 20 or another external computingdevice. External programmer 20 may generate a modified therapy programthat defines a plurality of subsignals based on a stimulation signaldefined by a therapy program, and may provide the modified therapyprogram to IMD 14. IMD 14 may deliver therapy to patient 12 inaccordance with the modified therapy program.

As shown in FIG. 6, external programmer 20 includes user interface 88,processor 90, memory 92, telemetry interface 94, power source 96, andclock source 102. Processor 90 includes energy calculator 98 andparameter generator 101. Although processor 90 includes energycalculator 98 and parameter generator 101 in the example shown in FIG.6, in other examples, energy calculator 98 and parameter generator 101may be embodied in one or more separate processors.

Memory may include any volatile, non-volatile, magnetic, optical, orelectrical media, such as RAM, ROM, NVRAM, EEPROM, flash memory, anyother digital media, or any combination thereof. Memory 26 may storeinstructions for execution by processor 90, stimulation therapy programdata, sensor data (if applicable), operational and status data of IMD 14and patient 12, and any other information regarding therapy or patient12.

Memory also stores energy threshold value 100, which may be similar toenergy threshold value 36 stored in memory 26 of IMD 14 (FIG. 2). In thecase of a clinician programmer, a clinician may interact with userinterface 88 in order to generate therapy programs for therapy system 10and/or adjust parameter values of the therapy programs, such as voltageor current amplitude values, pulse width values, pulse rate values,electrode combinations and electrode polarities. Generation of therapyprograms and adjustment of program parameters may be aided by automatedprogramming algorithms that guide the physician or clinician to selectparticular programs and program parameters. In the case of a patientprogrammer, a patient may interact with user interface 88 to selectprograms and adjust program parameters, e.g., on a limited basis asspecified by the physician or clinician.

User interface 88 may include a display and one or more input buttons(not shown) that allow external programmer 20 to receive input from auser. The display may be a liquid crystal display (LCD), a lightemitting diode display, a dot matrix display, touch screen or any othersuitable display for presenting information to a user. The input buttonsmay include a touch pad, increase and decrease buttons, emergency shutoff button, and other buttons needed to control the stimulation therapy.In some cases, the user may interact with user interface 88 via astylus, soft keys, hard keys, directional devices, and any of a varietyof other input media. Memory 92 may include operational instructions forprocessor 90 or program parameter sets.

Processor 90 may include one or more microprocessors, DSPs, ASICs,FPGAs, or any other equivalent integrated or discrete logic circuitry.Functions attributed to processor 90 herein may be embodied as hardware,firmware, software, or any combination thereof. Processor 90 receivesinput from user interface 88, presents data via the user interface,retrieves data from memory 92 and stores data within the memory.Processor 90 also controls the transmission of data to IMD 14 with theaid of telemetry interface 94. Telemetry interface 94 may communicateautomatically with telemetry interface 28 of IMD 14 (FIG. 2) at ascheduled time or when telemetry interface 94 detects the proximity ofIMD 14. Alternatively, telemetry interface 94 may communicate with IMD14 at the prompt of a user, e.g., upon receipt of user input throughuser interface 88. To support RF communication, telemetry interface 94may include appropriate electronic components, such as amplifiers,filters, mixers, encoders, decoders, modulators, demodulators and thelike.

Power source 96 may be a rechargeable battery, such as a lithium ion ornickel metal hydride battery. Other rechargeable or conventionalbatteries may also be used. In some cases, external programmer 20 may beused when coupled to an alternating current (AC) outlet, i.e., AC linepower, either directly or via an AC/DC adapter.

In examples in which external programmer 20 modifies a therapy programbased on information indicating the therapy program defines astimulation signal that exceeds an energy threshold value 100, energycalculator 98 may perform the same functions as energy calculator 34(FIG. 2) of IMD 14. Processor 90 may perform the same functions asprocessor 24 (FIG. 2) of IMD 14. Parameter generator 101 may perform thesame functions as parameter generator 38 (FIG. 2) of IMD 14. Clocksource 102 may perform the same functions as clock source 40 (FIG. 2) ofIMD 14. Furthermore, in some examples, energy calculator 98, parametergenerator 101, and clock source 102 may be a part of processor 90, e.g.,may be functions performed by processor 90 with the aid of firmware,hardware, software or any combinations thereof.

As described above, therapy system 10 may be used to deliver electricalstimulation to one or more target tissue sites within patient 12, wherethe target tissue site may include tissue proximate to a nerve, nervebranch, smooth muscle fiber or skeletal muscle fiber. The target tissuesite may encompass a relatively large area. In some cases, a therapyprogram that that defines an electrical stimulation signal that deliversefficacious therapy to the target tissue site may exceed the energythreshold value 36 of IMD 14 (or energy threshold value 100 stored byprogrammer 20). Instead of or in addition to decomposing the stimulationsignal into a plurality of subsignals, IMD 14 may divide the targettissue site into a plurality of subregions, and provide stimulation toeach one of the subregions while substantially maintaining thetherapeutic effects of the therapy.

FIG. 7 is a schematic illustration of target tissue site 104. For easeof illustration and description, tissue site 104 is illustrated as atwo-dimensional rectangular shape. However, target tissue site 104 maybe any regular or irregular two-dimensional cross-sectional shape orthree-dimensional volume. Target tissue site 104 may be divided into aplurality of subregions. The subregions are shown in FIG. 7 as 1-1 toM-N. Although the subregions are each rectangular as shown in FIG. 7, inother examples, the subregions of target tissue site 104 may be anysuitable shape and size, and the different subregions may have differentshapes and sizes.

Rather than delivering stimulation that generates a stimulation fieldthat covers the entire target tissue site 104, IMD 14 may deliverstimulation to subsets of the subregions of tissue site 104 at differenttimes. Subdividing target tissue site 104 into subregions may helpdecrease the energy of each of the stimulation signals delivered by IMD14. For example, an energy required to activate or otherwise providetherapy to one of the subregions or a subset of the subregions of targettissue site 104 may be less than energy required to stimulate the entiretarget tissue site 104 via a stimulation signal. The energy required toactivate or otherwise provide therapy to one of the subregions or asubset of the subregions may be less than the energy threshold of IMD14. Each subregion will activate different tissue, and, accordingly,maintaining the stimulation rate of the therapy program and the coverageof the therapy will provide effective therapy in many cases, despite thesequential nature of the stimulation.

A stimulation field covering less than the entire tissue site 104 may begenerated by selecting different combinations of electrodes 17A, 17B ofleads 16A, 16B (FIG. 2), respectively, and/or by selecting differentstimulation parameter values. IMD 14 may deliver electrical stimulationsignals (e.g., to stimulate) each one of the plurality of surfaces orvolumes in a sequential fashion and within a range of time that enablespatient 12 to receive the cumulative effect of the stimulation, whilenot perceiving the transition from the stimulation of one subregion toanother. For example, IMD 14 may deliver electrical stimulation tosubregion 1-1, then 1-2, until reaching M-N. In other examples, IMD 14may deliver electrical stimulation two or more subregions substantiallysimultaneously, where the energy required to stimulate more than one ofthe plurality of subregions is less than the maximum energy thresholdvalue of IMD 14. Other techniques for deliver stimulation to thesubregions of target tissue site 104 are contemplated.

In the techniques described above, a stimulation signal defined by atherapy program is decomposed into a plurality of subsignals based on anenergy threshold value, e.g., in order to increase an energy efficiencyof IMD 14 or due to energy limitations of IMD 14. In addition to orinstead of decomposing the stimulation signal into a plurality ofsubsignals, a therapy field that is generated by therapy delivery by IMD14 according to a therapy program may be decomposed into a plurality oftherapy subfields based on a comparison between an energy associatedwith the therapy program and an energy threshold value. For example, asdescribed in further detail below, with the aid of a computing device,an algorithmic model of a therapy field may be generated based on atherapy program in order to aid the decomposition of the field into aplurality of therapy subfields.

FIG. 8 is a conceptual illustration of different types of therapy fieldsthat may be generated when IMD 14 delivers electrical stimulationsignals to patient 12 via electrodes 106A-106D of lead 104. For ease ofillustration, two-dimensional cross-sectional profiles ofthree-dimensional fields are illustrated herein. Lead 104 may be coupledto IMD 14 instead of or in addition to leads 16. As shown in FIG. 8,lead 104 includes four electrodes 106A-106D (collectively referred to as“electrodes 106”). Electrodes 106 may be similar to electrodes 17 ofleads 16 (FIG. 1). The type and number of electrodes shown in FIG. 8 aremerely one example. In other examples, lead 104 may comprise anysuitable number of electrodes. In addition, in some examples, electrodes106 may be segmented or partial ring electrodes that define a complexelectrode array.

In some examples, the therapy field that is decomposed into a pluralityof therapy subfields may include a stimulation field 108, an electricalfield 110 or an activation field 112. Stimulation field 108 defines thefield generated when IMD 14 delivers electrical stimulation signalsaccording to a therapy program via electrodes 106. Although stimulationfield 108 is depicted in two dimensions in FIG. 8, stimulation field 108is three dimensional and covers a volume of patient tissue. The size(e.g., volume) and shape of stimulation field 108 may differ based onthe stimulation parameter values of a therapy program, such as thestimulation signal voltage or current amplitude and the activatedelectrodes 106, as well as the polarities of the selected subset ofelectrodes 106.

Electrical field 110 represents the areas of a patient anatomical regionthat will be covered by an electrical field during therapy whenstimulation field 108 is generated within patient 12. Althoughelectrical field 110 is shown in two dimensions in FIG. 8, electricalfield 110 is three-dimensional. Electrical field 110 may define thevolume of tissue that is affected when electrodes 106 are activated. Thesize and shape of electrical field 110 may be different in differentexamples, and may depend upon the characteristics of the patient'stissue proximate to electrodes 106. Relevant tissue characteristicsinclude tissue conductivity or density.

Activation field 112 represents the neurons that will be activated byelectrical field 110 in the neural tissue proximate to electrodes 106.Accordingly, activation field 112 may be based on the therapy parametervalues of the therapy program, electrical field 110, and thecharacteristics of tissue encompassed by stimulation field 108, such asthe tissue conductivity or density. Although activation field 112 isshown in two dimensions in FIG. 8, activation field 112 isthree-dimensional.

In some examples, processor 90 of programmer 20 (FIG. 6) or anothercomputing device may generate an algorithmic model a therapy field, suchas stimulation field 108, electrical field 110, and/or activation field112, to aid in the modification of a therapy program if the energyassociated with the therapy program exceeds an energy threshold value.While programmer 20 and its functional components are primarily referredto in the description of FIGS. 8-16, in other examples, IMD 14 oranother device may perform any part of the techniques described herein.The algorithm for generating an algorithmic model of a stimulation fieldmay be stored in memory 26 (FIG. 2) of IMD 14, memory 92 (FIG. 6) ofexternal programmer 20 or a memory of another device. An algorithmicmodel of a therapy field may be generated with the aid of modelingsoftware, hardware or firmware executing on a computing device, such asprogrammer 20 or a separate dedicated or multifunction computing device.

Example algorithms for generating algorithmic models of stimulationfields, electrical fields, and activation fields are described incommonly-assigned U.S. Pat. No. 7,822,483 issued on Oct. 26, 2010 toStone et al., entitled, “ELECTRICAL AND ACTIVATION FIELD MODELS FORCONFIGURING STIMULATION THERAPY” and filed on Oct. 31, 2006, andcommonly-assigned U.S. Patent Application Publication No. 2007/0203541by Goetz et al., entitled, “PROGRAMMING INTERFACE WITH A CROSS-SECTIONALVIEW OF A STIMULATION LEAD WITH COMPLEX ELECTRODE ARRAY GEOMETRY,” andfiled on Oct. 31, 2006. The entire content of U.S. Pat. No. 7,822,483and U.S. Patent Application Publication No. 2007/0203541 is incorporatedherein by reference.

In one example, processor 90 of programmer 20 generates an algorithmicmodel of an electrical field model based upon patient anatomy data and atherapy program defining stimulation parameter values, where theelectrical field model represents the areas of a patient anatomicalregion that will be covered by an electrical field during therapy. Thepatient anatomy data may include at least one of an anatomical image ofa patient, a reference anatomical image, an anatomical atlas or a tissueconductivity data set. The patient anatomy data may be specific topatient 12 or may represent data for more than one patient, e.g., modelor averaged data of the anatomical structure and tissue conductivity ofmultiple patients. For example, in some examples, the patient anatomydata may include tissue conductivity data or other relevant tissue datathat is typical for the particular lead location for the particulartherapeutic application (e.g., SCS in the case of therapy system 10 ofFIG. 1), and may be, but need not be, specific to patient 12. Patientanatomy data may indicate one or more characteristics of patient tissueproximate to an implanted lead, and may be created from any type ofimaging modality, such as, but not limited to, computed tomography (CT),magnetic resonance imaging (MRI), x-ray, fluoroscopy, and the like.

The algorithmic model of the electrical field may estimate tissue thatwill be affected by the stimulation field. Due to the conductivity orimpedances of tissue proximate electrodes 106 (FIG. 8) of lead 104, astimulation field may affect only some parts of the tissue proximate theimplanted electrodes. The electrical field may be estimated by modelingthe tissue around electrodes 106 and determining the propagation of theelectrical field from electrodes 106 based on the characteristics (e.g.,impedance) of the tissue proximate to electrodes 106.

In another example, processor 90 of programmer 20 may generate analgorithmic model of an activation field that is based on a neuron modelthat indicates one or more characteristics of patient neural tissueproximate to implanted lead 104. The activation field indicates theneurons that will be activated by the electrical field in the anatomicalregion. In general, an electrical field may be indicative of theelectrical propagation through the tissue surrounding lead 104, while anactivation field may be indicative of the neurons that are actuallyactivated by the electrical field.

Different techniques may be employed to generate an algorithmic model atherapy field that is generated upon therapy delivery by a medicaldevice according to a therapy program. In some examples, programmer 20includes a user interface that enables a clinician to program IMD 14 bydefining one or more stimulation fields and processor 90 maysubsequently generate the therapy programs that may achieve the definedstimulation fields, as described in commonly-assigned U.S. Pat. No.7,822,483 issued on Oct. 26, 2010 to Stone et al. and U.S. PatentApplication Publication No. 2007/0203541 by Goetz et al. The therapyfield may be based on the stimulation field defined by the clinician,and may be, for example, the stimulation therapy field, an electricalfield based on the stimulation field or an activation field.

The techniques described in U.S. Pat. No. 7,822,483 to Stone et al. andU.S. Patent Application Publication No. 2007/0203541 by Goetz et al. mayalso be used to generate an algorithmic model of a therapy field after atherapy program is generated. For example, after programming IMD 14 witha therapy program that provides efficacious therapy to patient 12, auser may generate an electrical field model that estimates where theelectrical current will propagate from the electrodes 106 of implantedleads 104 (or electrodes of any other implanted lead) or an activationfield model that estimates which neurons within the electrical fieldmodel will be activated by the voltage of the electrical field duringtherapy. In general, the electrical field model or the activation fieldmodel may estimate the anatomical structures that will be affected by atherapy program. Thus, the electrical field model or the activationfield model may represent a therapy field that is generated based on atherapy program.

FIG. 9 is a flow diagram illustrating an example technique fordetermining whether to decompose a therapy field into a plurality oftherapy subfields based on a comparison between an energy associatedwith the therapy program and a threshold value. As with the techniqueshown in FIG. 4, processor 90 may receive information that defines atherapy program (58). For example, processor 90 may receive a signalfrom IMD 14 or another device via telemetry interface (FIG. 6), wherethe signal indicates the therapy program, or processor 90 may select atherapy program from memory 92 (FIG. 6). As another example, processor90 may receive the information as user input via user interface 88. Insome examples, the information defining a therapy program may includeinput from a user defining and manipulating a desired therapy field(e.g., via drawing or otherwise drawing) via user interface 88 ofprogrammer 20, e.g., as described in U.S. Pat. No. 7,822,483 to Stone etal. and U.S. Patent Application Publication No. 2007/0203541 by Goetz etal. In other examples, the information defining a therapy program mayinclude input from a user selecting appropriate structure of theanatomical region to stimulate, e.g., as described in U.S. Pat. No.7,822,483 to Stone et al. and U.S. Patent Application Publication No.2007/0203541 by Goetz et al.

Energy calculator 98 of programmer 20 may calculate the energyassociated with the stimulation signal defined by the therapy program(61). For example, energy calculator 98 may multiply the duration of theelectrical stimulation signal defined by the therapy program with theamplitude of the electrical stimulation signal. If the informationdefining the therapy program includes input from a user defining ordrawing a therapy field via user interface 88, prior to calculating anenergy associated with the stimulation signal (61), processor 90 maydetermine the therapy parameter values associated with theclinician-defined therapy field. For example, processor 90 may referenceinstructions stored within memory 92 for generating stimulation fieldsand stimulation parameters from the therapy field. These instructionsmay include a set of equations needed to characterize brain tissue andinterpret stimulation field dimensions. In some examples, as describedin U.S. Patent Application Publication No. 2007/0203541 by Goetz et al.,processor 90 may determine the dimensions of the therapy field (e.g., astimulation field) to create a 3D vector field identifying the distancesfrom the implanted lead that stimulation may reach. Processor 90 may usea 3D vector field with an equation approximating electrical currentpropagation within the tissue of patient 14. In the case of stimulationdelivery by stimulation pulses, the resulting data determines theelectrode combination, voltage and current amplitudes, pulse rates, andpulse widths needed for reproducing the therapy field within patient 14.In other examples, processor 90 may interpret density of tissue inimaging data (e.g., CT, MRI, x-ray, fluoroscopy, and the like) to moreprecisely approximate the stimulation parameters.

In other examples, processor 90 may utilize stimulation templates todetermine the stimulation parameters that are associated with thetherapy field defined by the user. A stimulation template may be avolumetric stimulation field defined by stimulation parameters.Processor 90 may include a certain number of stimulation templates thatare used to automatically generate stimulation parameters that best fita user defined therapy field.

Processor 90 compares the determined energy of the stimulation signaldefined by the therapy program with the energy threshold value 100stored in memory 92 (62). As with the previous examples, energythreshold value 100 may be the value of the maximum energy of astimulation signal that IMD 14 may generate or the maximum energy of onechannel of IMD 14 if IMD 14 is a multichannel stimulator. The maximumenergy may be the maximum energy at the time IMD 14 is implanted or theexpected maximum energy output of IMD 14 after some predetermined amountof time, such as the expected life of IMD 14.

If the determined energy of a stimulation signal defined by the therapyprogram is less than the energy threshold value 100 (62) (or, in somecases, equal to the energy threshold value), processor 90 may controlIMD 14 to generate and deliver therapy to patient 12 based on thetherapy program defining the stimulation signal (64). For example,processor 90, with the aid of telemetry interface 94, may transmit thetherapy program to IMD 14. Processor 90 may transmit the therapyparameter values or an indicator (e.g., an alphanumeric indicator)associated with the therapy program and processor 24 of IMD 14 mayretrieve the therapy parameter values from memory 26 of IMD 14 based onthe indicator. IMD 14 may then deliver therapy to patient 12 based onthe therapy program.

If the determined energy is greater than (or, in some cases, equal to)the energy threshold value 100 (62), parameter generator 101 ofprogrammer 20 may modify the therapy program to decompose the therapyfield defined by the therapy program into a plurality of therapysubfields (113). As described above, the therapy field may be astimulation field, electrical field, or activation field. Parametergenerator 101 may generate therapy subprograms that define therapyparameter values for generating the therapy subfields (114). Energycalculator 98 may determine the energy associated with the stimulationsignal defined by each therapy subprogram (115). For example, for eachtherapy subprogram, energy calculator 98 may multiply the duration ofthe electrical stimulation signal defined by the therapy subprogram withthe amplitude of the electrical stimulation signal defined by thetherapy subprogram.

For each therapy subprogram, processor 90 may compare the determinedenergy with the energy threshold value 100 (62). If the energyassociated with each therapy subprogram is less than the energythreshold value (or, in some cases, equal to the energy thresholdvalue), processor 90 may control IMD 14 to deliver therapy according tothe therapy subprograms (116). That is, if the therapy subprograms areeach associated with an energy less than the energy threshold value 100,processor 90 may transmit the therapy subprograms to IMD 14. In someexamples, the therapy subprograms may be stored as a group with memory26 of IMD 14 and/or memory 92 of programmer 20.

On the other hand, if the energy associated with each therapy subprogramis greater than the energy threshold value (or, in some cases, equal tothe energy threshold value), processor 90 may continue decomposing thetherapy field into subfields, such as by decomposingpreviously-generated subfields into small subfields associated withlower energies. Subfields may be associated with lower energies if, forexample, IMD 14 requires less energy to generate and deliver stimulationsignals to generate the therapy subfield, e.g., because the therapysubprogram has a smaller amplitude and signal duration.

FIG. 10A is a schematic illustration of an example of therapy field 118that is generated when IMD 14 delivers electrical stimulation therapy topatient 12 according to a therapy program via electrodes 120A-120H(collectively referred to as “electrodes 120”) of lead 122. Electrodes120 may each be any suitable type of electrode, such as a ringelectrode, segmented electrode or partial ring electrode. Lead 122 isone example of a lead. In other examples, lead 122 may have any suitablenumber of electrodes in other configurations (e.g., in a complexelectrode array). Therapy field 118 may be, for example, a stimulationfield, electrical field, or activation field.

In the example shown in FIG. 10A, the energy associated with the therapyprogram that results in therapy field 118 exceeds the energy thresholdvalue 100 (or 36). As described with respect to FIG. 9, parametergenerator 101 of programmer 20 may decompose therapy field 118 into aplurality of subfields, where the energy associated with each one of thesubfields is less than the threshold energy value 100. The energyassociated with each subfield may be, for example, an energy required togenerate the stimulation signal defined by the therapy subprogram thatgenerates the respective therapy subfield.

In some examples, therapy field 118 may be decomposed into two therapysubfields 124A, 124B, as schematically shown in FIG. 10B. An energyassociated with each of the therapy subfields 124A, 124B is less thanthe threshold energy value 100, and is less than the energy associatedwith therapy field 118. The energy associated with therapy field 118 andtherapy subfields 124A, 124B may be determined based on the therapyparameter values, such as the voltage or current amplitude and thesignal duration, of the therapy program that IMD 14 delivers therapy inorder to generate the respective field 118, 124A or 124B. In some cases,the sum of the energies of therapy subfields 124A, 124B is less than orequal to the energy associated with therapy field 118, while in otherexamples, the sum of the energies of therapy subfields 124A, 124B isgreater than or equal to the energy associated with therapy field 118.

The therapeutic effect on patient 12 resulting from therapy delivery viatherapy subfields 124A, 124B may be substantially similar to thetherapeutic effect on patient 12 that results when IMD 14 deliverstherapy via therapy field 118. In some examples, the total volumedefined by the sum of the volumes of therapy subfields 124A, 124B may bewithin a particular percentage of the volume of the original therapyfield 118, such as about 80% to about 150% of the volume of therapyfield 118, such as about 90% to about 125% or about 95% to about 105%.Other percentages are contemplated. For example, the volumes of therapysubfields 124A, 124B may be up to 99.99% of the volume of therapy field118, so long as the energy associated with each therapy subfield 124A,124B is less than the energy threshold value 100.

In some examples, the total volume of therapy subfields 124A, 124B maysubstantially exceed or equal the volume of the original therapy field118 (FIG. 10A), or may be less than the volume of the original therapyfield 118. Accordingly, if therapy field 118 and therapy subfields 124A,124B are stimulation fields or electrical fields, therapy subfields124A, 124B may cover a particular percentage of the same volume oftissue of patient 12 as therapy field 118, such as about 80% to about150%, about 90% to about 125% or about 95% to about 105%. If therapyfield 118 and therapy subfields 124A, 124B are activation fields,therapy subfields 124A, 124B may substantially activate similar neuronsas therapy field 118, such as about 80% to about 100% of the sameneurons as therapy field 118, e.g., about 90% to about 110% or about 95%to about 105% of the same neurons as therapy field 118.

Parameter generator 101 of programmer 20 may modify the therapy programthat defined therapy field 118 to define therapy subprograms thatinclude therapy parameter values that generate therapy subfields 124A,124B when IMD 14 delivers therapy according to the therapy subprograms.In one example, parameter generator 101 generates a plurality ofsubprograms where each one of the plurality of subprograms onlyactivates a subset of the electrodes activated by the original therapyprogram. For example, parameter generator 101 may modify the electrodecombination defined by the therapy program, which defines the electrodes120 that are activated during therapy delivery according to the therapyprogram. In the example shown in FIG. 10A, the therapy program resultingin therapy field 118 selected electrodes 120A and 120H as activeelectrodes, and assigned polarities to electrodes 120A, 120H. Inparticular, the therapy program defined electrode 120A as an anode andelectrode 120H as a cathode.

When IMD 14 delivers electrical stimulation according to the othertherapy parameter values of the therapy program, such as the voltage orcurrent amplitude and signal duration, electrical current flows fromelectrode 120H to electrode 120A and therapy field 118 is generated.Parameter generator 101 may modify the original therapy program andgenerate a first therapy subprogram that selects electrodes 120A and120E as active electrodes, where electrode 120A is am anode andelectrode 120E is a cathode. When IMD 14 delivers electrical stimulationaccording to the first therapy subprogram, electrical current flows fromelectrode 120E to electrode 120A, thereby generating therapy subfield124A.

The electrode combination of the first therapy subprogram generallydefines the location of the therapy subfield 124A substantially along alongitudinal axis of lead 122. In order to define the volume of therapysubfield 124A, processor 90 may select the therapy parameter values ofthe first therapy programs that define the intensity of stimulation,such as the voltage or current amplitude, signal duration or frequency.In some examples, processor 90 may select the therapy parameter valuesof therapy subfields 124A such that therapy subfield 124A has a volumethat is within a particular range of therapy field 118, such as about40% to about 60% of the volume of therapy field 118, although otherpercentages are contemplated. The clinician may select the range ofvolumes for therapy subfield 124A. Accordingly, the therapy parametervalues of the first therapy subprogram (e.g., amplitude, pulse width orfrequency) other than electrode combination may be selected based on thevolume of therapy field 118. In one example, the therapy parametervalues of the first therapy subprogram other than electrode combinationare substantially similar to the original therapy program. In otherexamples, the therapy parameter values may be selected such that thevolume of therapy subfield 124A is approximately half of the volume oftherapy field 118.

Parameter generator 101 of programmer 20 may generate a second therapysubprogram that results in therapy subfield 124B when IMD 14 deliverstherapy to patient 12 according to the second therapy subprogram. In theexample shown in FIG. 10B, parameter generator 101 selects electrode120D as an anode of the electrode combination and electrode 120H as acathode of the combination. The electrode combination of the secondtherapy subprogram generally defines the location of the therapysubfield 124B substantially along the longitudinal axis of lead 122. Inorder to define the volume of therapy subfield 124B, processor 90 mayselect the therapy parameter values of the second therapy program thatdefines the intensity of stimulation, such as the voltage or currentamplitude, signal duration or frequency. For example, just as withtherapy subfield 124A and the first therapy subprogram, in someexamples, processor 90 may select the therapy parameter values of thesecond therapy subprogram such that therapy subfield 124B has a volumethat is within a particular range of therapy field 118, such as about40% to about 60% of the volume of therapy field 118. The clinician mayselect the acceptable range of volumes for therapy subfields 124A, 124B.

After therapy field 118 is decomposed into subfields 124A, 124B, energycalculator 98 of programmer 20 may determine the energy associated withsubfields 124A, 124B. For example, energy calculator 98 may determinethe energy associated with subfields 124A, 124B based on the pulse widthand amplitude of the first and second therapy subprograms, respectively.If the energy associated with subfields 124A, 124B is less than energythreshold value 100, processor 90 may store the first and second therapysubprograms within memory 92 of programmer 20, transmit the first andsecond therapy subprograms to IMD 14 or both.

Processor 24 of IMD 14 may control stimulation generator 30 of IMD (FIG.2) to generate and deliver therapy to patient 12 in accordance with thefirst and second therapy subprograms substantially simultaneously, ifIMD 14 is a multichannel device and the energy threshold value 100 isthe threshold value for each channel, or via an interleaved oralternating fashion. In one example of interleaved therapy delivery,each pulse or signal is delivered according to a different one of firstor second therapy subprograms. The time period between each pulse orsignal may be less than the duration of the carryover effect, such thatpatient 12 perceives a cumulative effect from therapy delivery accordingto the first and second therapy subprograms and generally cannotdifferentiate between the pulses or signals of the different therapysubprograms. Each subfield 124A, 124B may activate different tissue,and, accordingly, the group of therapy subprograms may maintain thestimulation rate defined by the original therapy program, as well as thecoverage of the therapy field 118. The interleaving of therapy deliveryaccording to the first and second therapy subprograms may help provideeffective therapy in many cases, despite the sequential nature of thestimulation. In some examples, subfields 124A, 124B may partiallyoverlap, as shown in FIG. 10B.

If the energy associated with therapy subfields 124A, 124B is greaterthan energy threshold value 100, processor 90 may initiate thedecomposition of therapy subfields 124A, 124B into additional subfields,such as the four therapy subfields 126A-126D shown in FIG. 10C.Parameter generator 101 may modify the therapy program that defined theoriginal therapy field 118 and generate therapy subprograms that definetherapy subfields 126A-126D. In the example shown in FIG. 10C, parametergenerator 101 generates a first therapy subprogram that defines therapysubfield 126A. In particular, parameter generator 101 selects electrode120A as an anode and electrode 120B as a cathode of the electrodecombination of the first therapy subprogram.

Parameter generator 101 may also generate a second therapy subprogramthat defines therapy subfield 126B. In the example shown in FIG. 10C,parameter generator 101 selects electrode 120C as an anode and electrode120E as a cathode of the electrode combination of the second therapysubprogram. Parameter generator 101 may also generate a third therapysubprogram that defines therapy subfield 126C, where the third therapysubprogram selects electrode 120E as a cathode and electrode 120G as ananode. In the example shown in FIG. 10C, the second and third therapysubprograms share a cathode. In addition, parameter generator 101 maygenerate a fourth therapy subprogram that defines therapy subfield 126D,where the fourth therapy subprogram defines electrode 120G as an anodeand electrode 120H as a cathode. In the example shown in FIG. 10C, thethird and fourth therapy subprograms share an anode.

Just as with therapy subfields 124A, 124B in FIG. 10B, processor 90 mayselect the therapy parameter values of the first, second, third, andfourth therapy subprograms such that a total volume of therapy subfields126A-126D is within a clinician-selected range of therapy field 118,such as about 80% to about 150% of the volume of therapy field 118.

Based on the respective therapy subprogram, energy calculator 98 maydetermine the energy associated with each of therapy subfields 126A-126Dand compare each determined energy to energy threshold value 100. If theenergy of one or more of the therapy subfield 126A-126D exceeds energythreshold value 100, processor 90 may further decompose the respectivetherapy subfields 126A-126D into therapy subfields having smallervolumes. Alternatively, processor 90 may further decompose all of thetherapy subfields 126A-126D into therapy subfields having smallervolumes, rather than just the therapy subfield that is associated withan energy that exceeds energy threshold value 100. If the energy of eachtherapy subfield 126A-126D does not exceed energy threshold value 100,processor 90 may transmit the subprograms to IMD 14. The first, second,third, and fourth therapy subprograms, which result in therapy subfields126A-126D, may be stored as a therapy program group within memory 26(FIG. 2).

Processor 24 of IMD 14 may control stimulation generator 30 to delivertherapy to patient 12 according to the therapy group including thefirst, second, third, and fourth therapy subprograms. If IMD 14 is amultichannel device and energy threshold value 100 is specific to eachstimulation channel, stimulation generator 30 may deliver the therapyaccording to the first, second, third, and fourth therapy subprogramssubstantially simultaneously if IMD 14 via separate channels. In otherexamples, stimulation generator 30 may deliver the therapy according tothe first, second, third, and fourth therapy subprograms on aninterleaved or alternating basis. The stimulation signals according toeach therapy subprogram in the therapy group may be spatially separatedsuch that patient 12 perceives a cumulative effect from therapy deliveryaccording to the subprograms and generally cannot differentiate betweenthe pulses or signals of the different therapy subprograms. In this way,therapy delivery according to the therapy group including the first,second, third, and fourth therapy subprograms may generally maintain thephysiological effects of therapy field 118. The first, second, third,and fourth therapy subprograms may be selected by stimulation generator30 in any order, as long as stimulation generator 30 cycles through eachtherapy subprogram in the group.

As described above, processor 90 decomposed therapy field 118 intoeither two therapy subfields 124A, 124B or four therapy subfields126A-126D. In other examples, processor 24 of IMD 14, processor 90 ofprogrammer 20 or a processor of another device may decompose therapyfield 118 into any suitable number of therapy subfields until the energyassociated with each subfield is less than energy threshold value 100.Furthermore, in some examples, the clinician or another user maydecompose therapy field 118 into a plurality of therapy subfields withthe aid of a GUI, which is described below in reference to FIGS. 11-14.

Processor 90 of programmer 20 may determine the approximate volume andshape of therapy field 118 based on the therapy program via any suitabletechnique. In some examples, the clinician may select therapy field 118during programming of IMD 14, as described in U.S. patent applicationSer. No. 11/591,188 to Goetz et al. For example, during a programmingsession, a clinician may interact with user interface 88 (FIG. 6) tomanually select and program particular electrodes of a lead via anelectrode selection view, and adjust a stimulation field resulting froma particular electrode selection. Once the clinician has defined the oneor more stimulation fields, programmer 20 may generate the stimulationparameter values associated with the stimulation fields selected by theclinician. The stimulation parameter values may be transmitted to IMD 14or stored within memory 92 of programmer 20. Hence, user interface 88 ofprogrammer 20 may permit a user to manually select electrodecombinations and associated stimulation parameter values, or simplyspecify and manipulate a stimulation field in terms of size, directionand shape, in which case the programmer 20 or IMD 14 may automaticallyadjust electrode combinations and parameter values to approximate thedesired stimulation field.

The stimulation field selected by a clinician during the programming ofIMD 14 may be stored within memory 92 of programmer 20 or memory 26 ofIMD 14 as an algorithmic model of a therapy field 118 that represents atherapy field that provides effective therapy to patient 12. That is, insome examples, user interface 88 may present a representation of one ormore implanted leads and a representation of the patient anatomyproximate the implanted lead. The clinician may define a desiredstimulation field over the representation of the patient anatomy,relative to the representation of the one or more implanted leads orrelative to both the representation of the patient anatomy and theimplanted leads. The clinician-defined stimulation field may be thealgorithmic model of the therapy field 118 that provides efficacioustherapy to patient 12. The clinician, processor 24 of IMD 14, processor90 of programmer 20 or a processor of another device may decomposetherapy field 118 into therapy subfields with the aid of the algorithmicmodel of therapy field 118.

FIG. 11 illustrates a schematic representation of an example graphicuser interface (GUI) 130 that may be presented on a display ofprogrammer 20. By interacting with GUI 130, a user may generate analgorithmic model of an electrical stimulation field produced by aselected electrode combination. For example, the user may change thesize, shape or position of the field using graphical input media such ascursor or stylus control. In some examples, the user may be able tocreate a stimulation field in the field view and direct processor 90 ofprogrammer 20 to generate stimulation parameter values that would bestmatch the stimulation field. The generated electrical stimulation fieldmay be stored as an algorithmic model of therapy field 118 and thestimulation parameter values may be stored as a therapy program.

GUI 130 illustrates lead 131, which includes a complex electrode arraygeometry. A complex electrode array geometry generally refers to anarrangement of stimulation electrodes at multiple non-planar ornon-coaxial positions, in contrast to simple electrode array geometriesin which the electrodes share a common plane or a common axis. Anexample of a simple electrode array geometry is an array of ringelectrodes distributed at different axial positions along the length ofa lead, e.g., as illustrated with lead 16 of FIG. 2. Another example ofa simple electrode array geometry is a planar array of electrodes on apaddle lead.

Lead 131 includes four electrode “levels” at different axial positionsalong the length of the lead. Each level includes four electrodesgenerally arranged in a ring. However, the electrodes are non-contiguouswith one another. The electrodes may be referred to as segmentedelectrodes or electrode segments. Each electrode is coupled to arespective electrical conductor within lead 131. Hence, lead 131includes multiple electrical conductors, e.g., wires, cables or thelike, that extend from the proximal end of the lead to respectiveelectrodes to electrically couple the electrodes to electrical terminalsassociated with IMD 14.

Each electrode is positioned at a different angular position around thecircumference of implantable lead 131, which has a generally circularcross-section in the example of FIG. 11. Each electrode is independentlyselectable so that stimulation energy can be delivered from the lead atdifferent axial and angular positions. In some examples, lead 131 mayinclude combinations of complex electrode array geometries and simpleelectrode array geometries. For example, ring electrodes that extendabout the entire circumference of the lead may be used in combinationwith electrodes disposed at different axial and angular positions.Selective activation of the electrodes carried by lead 131 can producecustomizable stimulation fields that may be directed to a particularside of lead 131 in order to isolate the stimulation field around atarget anatomical region within patient 12.

GUI 130 illustrates multiple cross-sectional views 132A-132D and a sideview 133 of lead 131 in alignment with corresponding electrode levels.In the example of FIG. 11, the user has selected an initial electrodecombination, either manually or by selection for a set of electrodecombinations provided by programmer 20, and the selected electrodecombination is illustrated in GUI 130. GUI 130 presents a representationof a stimulation field 134 defined by the user and produced by theselected electrode combination, given stimulation parameter valuesselected by the user and general tissue characteristics stored withinprogramming device 110. Stimulation field 134 may be, for example, anexample of therapy field 118 (FIG. 10A).

The size and shape of stimulation field 134 may be established based ongeneric physical characteristics of human tissue and known physicalcharacteristics of the electrodes of lead 131. In other words,stimulation field 134 displayed in the field view of GUI 130 may only bean approximation of what the stimulation field would be in tissue of aspecific patient 12. However, in some examples, physical characteristicsof the actual anatomical structure of patient 12 being treated may beused to generate stimulation field 134. This anatomical structureinformation may be presented to programmer 20 in the form of patientanatomical data generated by an imaging modality, such as CT, MRI, orany other volumetric imaging system and stored within memory 92 ofprogrammer 20.

In the example that uses the patient anatomical data, stimulation field134 may be similar to an electrical field model, which is discussed indetail with reference to FIGS. 13 and 15. For example, stimulation field134 may rely on tissue impedance models, field propagation models, andthe like. In some examples, stimulation field 134 may be arepresentation of an electrical field, current density, voltagegradient, or neuron activation, applied to a generic human tissue or theanatomy of patient 12. In addition, the clinician may be able to switchbetween any of these representations when desired.

The user may move stimulation field 134 up or down relative to alongitudinal axis of lead 131 within GUI 130 using vertical scroll bar136 or some similar control device. As stimulation field 134 moves up ordown in response to the user input, programmer 20 automatically selectsappropriate electrode combinations to support the vertical movement ofthe stimulation field. For example, processor 90 may phase electrodes inand out as stimulation field 134 travels upward or downward, reducingthe stimulation energy delivered from some electrodes as the stimulationfield moves away from them, and increasing the stimulation energydelivered by other electrodes as the field moves toward them. Also, GUI130 includes arrows 138 or similar input media that permit the user totransition between different electrode levels of the lead incross-sectional views 132A-132D.

In addition, the user may rotate stimulation field 134 using horizontalscroll bar 140 or some similar control device. An arrow 142 may beprovided next to horizontal scroll bar 140 to indicate the orientationof lead 131 relative to an anatomical structure. In addition, arrows maybe provided in respective cross-section views 132A-132D to maintainorientation. As the user rotates stimulation field 134, processor 90 ofprogrammer 20 may automatically select appropriate electrodecombinations to support the rotational movement of the stimulation field134. As in the case of vertical movement, rotational movement ofstimulation field 134 may be accomplished by gradually reducing thestimulation energy delivered to some electrodes as the stimulation fieldrotates away from them, and gradually increasing the stimulation energydelivered to other electrodes as the stimulation field rotates towardthem. Side view 133 and cross-sectional views 132A-132D permit the userto observe movement of stimulation field 134 from both an axialperspective and a rotational perspective.

Movement of stimulation field 134 within GUI 130 using scroll bars 136,140 or similar input media permits the user to evaluate different fieldpositions without the need to manually select electrodes and manuallyenter parameter values. Instead, processor 90 of programmer 20automatically selects electrodes and parameter values in response tomovement of stimulation field 134 by the user. Although scroll bars 136,140 are illustrated as examples of input media for movement ofstimulation field 134, other types of input media may be used. Examplesinclude up/down arrows or side-to-side arrows, which may be presented ona touch screen or formed by buttons or keys on programmer 20.

As a further alternative to manipulating the stimulation field 134, theuser may select stimulation field 134 within GUI 130 with a stylus,mouse, or other pointing device and drag the field upward, downward, orrotationally. In some examples, a mouse or other pointing device maysupport left or right click functionality to perform differentoperations relative to stimulation field 134. With a stylus, a firstclick on stimulation field 134 may initiate movement, dragging with thestylus directs movement, and a second click may terminate movement. Ineach case, processor 90 of programmer 20 responds to the specifiedmovement by automatically adjusting the electrode combination and otherstimulation parameter values to approximate the characteristics ofstimulation field 134 presented by GUI 130. As the stimulation parametervalues change, the size and shape of stimulation field 134 presented onthe display change. Similarly, as the electrode combination changes interms of polarity or electrode selection, the size, shape or directionof stimulation field 134 presented on the display changes.

In some examples, in order to generate a therapy program that results instimulation field 134, processor 90 may utilize stimulation templatesand select the best fitting stimulation template set to stimulationfield 134. A stimulation template is a predetermined volumetricstimulation field that processor 90 may substantially match to a desiredstimulation field 134 from the clinician. An algorithm for generating atherapy field model that utilizes one or more stimulation templates togenerate stimulation parameter values that fit the user definedstimulation field may be less computationally intensive for processor 90compared to an algorithm that references multiple equations or lookuptables to generate the stimulation parameter values. The stimulationtemplate may be a representation of an electrical field or otherelectrical stimulation related characteristic, e.g., current density,voltage gradient, or neuron activation, applied to a generic humantissue. For stored stimulation templates, processor 90 may adjust thecurrent amplitude or voltage amplitude to alter the size of thestimulation template to cover the desired stimulation field 134 from theuser. Examples of stimulation templates are described in U.S. PatentApplication Publication No. 2007/0203541 by Goetz et al.

In addition to moving stimulation field 134, GUI 130 may permit the userto perform one or more operations that result in reconfiguration ofstimulation field 134. For example, the user may click on a border,i.e., an outer perimeter, of stimulation field 134 presented by GUI 130,and drag it inward or outward to resize the stimulation field. Resizingby enlarging or shrinking stimulation field 134 in GUI 130 results in anincrease or decrease in amplitude, pulse width or pulse rate of thestimulation energy. In some examples, enlarging or shrinking stimulationfield 134 also may result in selection or de-selection of electrodesincluded in the existing electrode combination. In either case,processor 90 of programmer 20 adjusts the electrode combination and/orparameter values in response to the enlargement or shrinkage ofstimulation field 134 by the user. In this way, a user may generate analgorithmic model of a therapy field by directly manipulating thestimulation field 134. Other field adjustment functions such asspread/focus button 146 and split/merge button 148 may be provided byGUI 130. In each case, the user changes stimulation field 134 by simplychanging the representation of the stimulation field 134 presented onGUI 130, thereby avoiding the need to manually select electrodes andparameter values. The operation of the buttons 144, 146, and 148 isdescribed in further detail in U.S. Patent Application Publication No.2007/0203541 by Goetz et al.

Processor 90 of programmer 20, processor 24 of IMD 14, a processor ofanother device, or a clinician, with the aid of a computing device, maydecompose stimulation field 134 into a plurality of therapy subfieldswith the aid of GUI 130. While processor 90 of programmer 20 isprimarily referred to throughout the description of FIGS. 11-14, inother examples, processor 24 of IMD 14, a processor of another computingdevice may perform any one or more of the techniques described herein.In one example, after selecting a desirable stimulation field 134,energy calculator 98 may determine an energy associated with stimulationfield 134, as described above with respect to FIG. 9. If the therapyprogram is selected prior to determining stimulation field 134, energycalculator 98 may reference the stimulation parameter values of thetherapy program.

If the therapy program is selected by first defining stimulation field134, prior to determining the energy, processor 90 may determine thetherapy parameters associated with stimulation field 134 and energycalculator 98 may determine the energy associated with stimulation field134 based on the associated amplitude and signal duration values definedby the therapy program. As described above, processor 90 may determinethe stimulation parameters associated with stimulation field 134 by, forexample, determining the dimensions of stimulation field 134 to create a3D vector field identifying the distances from the implanted lead 131that stimulation may reach. Processor 90 may use a 3D vector field withan equation approximating electrical current propagation within thetissue of patient 14. In other examples, processor 90 may utilizestimulation templates to determine the stimulation parameters that areassociated with stimulation field 134.

If processor 90 determines that the energy associated with stimulationfield 134 exceeds (e.g., is greater than or equal to) a stored energythreshold value 100, processor 90 may prompt the clinician to modifystimulation field 134 within GUI 130 and select a plurality of therapysubfields with the aid of GUI. In other examples, processor 90 mayautomatically decompose stimulation field 134 into a plurality oftherapy subfields with the aid of GUI 130 and present the plurality oftherapy subfields to a user, such as the clinician, for approval.

FIG. 12 illustrates an example of GUI 130 presenting stimulationsubfields 135A, 135B that processor 90 automatically generated based onstimulation field 134. In one technique for decomposing stimulationfield 134 into two or more stimulation subfields, processor 90 may splitstimulation field 134 along a longitudinal axis of lead 131 or, as shownin FIG. 12, along a lateral axis that is substantially perpendicular tothe longitudinal axis of lead 131, thereby resulting in two subfields135A, 135B. If an energy associated with the subfields 135A, 135Bexceeds the threshold value 100, processor 90 may further decompose thesubfields 135A, 135B along the same or a different axis relative to lead131. However, in some cases, depending on the available electrodes forselection 131, further decomposition of subfields 135A, 135B may not bepossible. Electrode availability permitting, processor 90 mayiteratively split the stimulation subfields 134 until an energyassociated with the therapy subfields is less than the threshold value100. In some cases, processor 90 may selectively decompose specificsubfields, rather than all of the subfields. For example, processor 90may selectively decompose stimulation subfield 135A into two or moresubfields, and maintain stimulation subfield 135B as a single subfield.

In the example shown in FIG. 12, the total volume of stimulationsubfields 135A, 135B is greater than the volume of stimulation field 134because stimulation subfields 135A, 135B substantially overlap aroundthe electrode level shown in the cross-sectional view 132C. However, theenergy associated with stimulation subfield 135A is less than the energyassociated with threshold value 100, and the energy associated withstimulation subfield 135B is less than the energy associated withthreshold value 100.

Processor 90 may present stimulation subfields 135A, 135B to the userfor approval. Upon approval by clinician, processor 90 may store thetherapy parameter values associated with stimulation subfields 135A,135B within memory 92 or may transmit the therapy subprograms to IMD 14.Processor 90 may determine the therapy parameter values associated withstimulation subfields 135A, 135B using any suitable technique, such asthe techniques described above for determining the therapy parametervalues for achieving stimulation field 134. In one example, the user orprocessor 90 generates a first therapy subprogram associated withstimulation subfield 135A with the aid of stimulation templates, andselect the best fitting stimulation template set to stimulation subfield135A. Processor 90 may generate a therapy subprogram comprising thestimulation parameters that define the stimulation template that mostclosely matches stimulation subfield 135A. In some examples, the user orprocessor 90 may need to select multiple stimulation templates in orderto closely match stimulation subfield 135A. In such examples, processor90 may generate a therapy subprogram comprising the sets of stimulationparameters that define the plurality of stimulation templates.Similarly, the clinician or the processor 90 may generate a secondtherapy subprogram associated with stimulation subfield 135B with theaid of stimulation templates, and select the best fitting stimulationtemplate set to stimulation subfield 135B.

In other examples, processor 90 of programmer 20 may generate analgorithmic model of an electrical field or an algorithmic model of anactivation field, and processor 90 or a clinician with the aid ofprogrammer 20, may decompose the electrical field model or theactivation field model into a plurality of therapy subfields andgenerate therapy subprograms based on the therapy subfields.

FIGS. 13 and 14 are schematic diagrams illustrating example GUIs 150,152 that present electrical field models and activation field models,respectively, to a user. FIG. 13 illustrates an example GUI 150 thatdisplays a stimulation field view to the user via a display ofprogrammer 20. GUI 150 displays side view 154 and cross-sectional view156 of implanted lead 131, and the user defines stimulation field 158 onthe side and cross-sectional views, e.g., using the techniques describedabove with respect to FIG. 11. Processor 90 of programmer 20 maygenerate stimulation parameter values for therapy based on the selectedstimulation field 158 and generate an electrical field model 160, whichestimates an electrical field that results from therapy deliveryaccording to the stimulation parameter values associated with theselected stimulation field 158. In GUI 150, electrical field model 160is displayed as an electrical field within the outer boundaries ofstimulation field 158. In other examples electrical field model 160 maybe a representation of another electrical stimulation relatedcharacteristic, e.g., current density, or voltage gradient. In addition,the clinician may be able to switch between any of these representationswhen desired.

Electrical field 160 represents where the electrical current willpropagate from the implanted lead 131 within patient 12, as tissuevariation of the tissue proximate to lead 131 may change the electricalcurrent propagation from the lead in some directions. The variations inelectrical field propagation may affect the ability of the therapy toactually treat a desired structure or cause a side effect. Thehorizontal and axial views of electrical field model 160 illustrated inFIG. 13 are two-dimensional (2D) slices of a volumetric electrical fieldmodel generated by processor 90. Processor 90 utilizes an algorithm togenerate electrical field model 160. In one example, the algorithm takesthe patient anatomy data with electrical field model equations thatdefine electrical current propagation into consideration. Accordingly,if the algorithmic model of the baseline therapy field includeselectrical field 160, processor 90 may implement an algorithm thatapplies electrical field model equations that define how the electricalfield propagates away from an origin location. The electrical fieldmodel equations may be specific to patient 12. The electrical fieldequations require the physical tissue characteristics of the tissueadjacent lead 131. From this information, processor 90 is able togenerate the estimated electrical field 160 that will be produced intherapy.

Electrical field 160 may differ from the selected stimulation field 158because processor 90 generates stimulation field 158 using an algorithmthat only considers general tissue characteristics, which are notspecific to patient 12. In other examples, the electrical fieldequations may utilize matrices or other mathematical model of theelectrical field. In this manner, electrical field 160 can be estimatedand modeled for the user. Accordingly, the user may be able to increaseor decrease the amplitude of the stimulation parameter values withamplitude interface 162 in order to change the size and possibly shapeof electrical field 160 or directly manipulate electrical field 160. Ifthe user is satisfied with electrical field 160, the user may select thedetermine energy button 164 to determine whether the energy associatedwith the therapy program that results in electrical field 160 exceedsenergy threshold value 100 (or, in some cases, is greater than thethreshold energy value 100). If the energy does not exceed thresholdvalue 100, processor 90 may transmit the stimulation parameter values ofthe therapy program to IMD 14.

If the energy exceeds threshold value 100, processor 90 may notify theuser that decomposition of electrical field 160 into two or moreelectrical subfields is desirable. The user may then interact with GUI150 to define the electrical subfields that have a smaller volume thanelectrical field 160. The user may, for example, select subfields thatcover the target anatomic regions of patient 12 that the user deemsimportant to the therapeutic efficacy, e.g., based on past experience orprior test results. Processor 90 may then generate the therapy parametervalues that may achieve the user-defined electrical subfields, e.g.,using the patient anatomy data and electrical field model equations thatdefine electrical current propagation. These therapy parameter valuesmay define therapy subprograms. Alternatively, processor 90 may notifythe user that decomposition of electrical field 160 is desirable, andautomatically decompose electrical field 160 into two or more electricalsubfields. For example, processor 90 may split electrical field 160along a longitudinal axis of lead 131. Again, processor 90 may generatethe therapy parameter values that may achieve the processor-selectedelectrical subfields.

FIG. 14 is similar to FIG. 13 and illustrates an example GUI 152 thatdisplays an activation field view to the user via a display ofprogrammer 20. From the defined stimulation field 158 on the side view154 and cross-sectional view 156, processor 90 of programmer 20 maygenerate stimulation parameter values for therapy and generates anactivation field model based upon the electrical field model 160 of FIG.13 and a neuron model that estimates which neurons within the electricalfield model will be activated by the voltage of the electrical fieldduring therapy. The neuron model may be a set of equations, a lookuptable, or another type of model that defines threshold action potentialsof particular neurons that make up the anatomical structure, as definedby the patient anatomy data, affected by the electrical field 160. Ifthe voltage or current amplitude of the electrical field 160 is abovethe threshold of any neuron within the electrical field, that neuronwill be activated, e.g., cause a nerve impulse. The activation fieldmodel is displayed as activation fields 166 and 168 within stimulationfield 158.

Activation fields 166 and 168 of the activation field model indicate tothe user where neurons around the lead will be activated from thestimulation therapy. Due to changes in electrical current propagationand voltage thresholds to activate a neuron, the activation of neuronsmay vary with the location of tissue around the lead. Some neurons mayactivate further from the lead with smaller voltages while other neuronsmay only be activated close to the lead because of a high voltagethreshold. These differences in neurons may account for separateactivation fields 166 and 168 within a contiguous stimulation field 158.

The user may manipulate activation fields 166, 168 within GUI 152, suchas to decompose activation fields 166, 168 into activation subfields.For example, the user may increase or decrease the size and/or shape ofactivation fields 166 and 168 by changing the amplitude with amplitudeadjustment interface 162 or directly manipulate the activation fields toautomatically modify the stimulation parameter values. Once the user issatisfied with activation fields 166, 168, the user may select determineenergy button 164 and energy calculator 98 may determine the energyassociated with activation fields 166, 168. In other examples, determineenergy button 164 may be an “accept field” button, and energy calculator98 may automatically determine the energy associated with activationfields 166, 168 upon activation of the button 164 by a clinician.

If the energy is not greater than the threshold value 100, processor 90may transmit the stimulation parameter values of the therapy program toIMD 14. If the energy exceeds the threshold value 100, processor 90 maynotify the user that decomposition of at least one of the activationfields 166, 168 into two or more activation subfields is desirable. Theuser may then interact with GUI 152 to define the activation subfieldsthat have a smaller volume than at least one of activation fields 166,168. The user may, for example, select subfields that cover the targetanatomic regions of patient 12 that the user deems important to thetherapeutic efficacy, based on past experience or prior test results.Processor 90 may then generate the therapy subprograms that may achievethe user-defined activation subfields, e.g., using the patient anatomydata, electrical field model equations that define electrical currentpropagation, and the neuron model.

In other examples, processor 90 may notify the user that decompositionof at least one of activation subfields 166, 168 is desirable, andautomatically decompose at least one of activation subfields 166, 168into two or more activation subfields. For example, processor 90 maysplit electrical field 160 in along a longitudinal axis of lead 131.However, because the activation fields 166, 168 depend upon the neuronmodel, the differences in neurons within the tissue proximate to theimplanted lead 131 may account for noncontinuous activation subfields.Again, processor 90 may generate the therapy parameter values that mayachieve the processor-selected activation subfields.

FIG. 15 is a flow diagram illustrating an example technique forgenerating and displaying electrical field model 160 (FIG. 13), which isbased on a stimulation field 158. Stimulation field 158 may bedetermined based on input by a clinician and/or automatically generatedby processor 90 of programmer 20 in response to stimulation parametervalues selected by the clinician. As shown in FIG. 15, processor 90receives patient anatomy data necessary for creating an electrical field(180), which may include an anatomical image of the target tissue siteof patient 12, a reference anatomical image, which may not be specificto patient 12, an anatomical atlas indicating specific structures of thepatient's anatomy or a map of the tissue characteristics (e.g.,conductivity or density) adjacent to the one or more implanted leads(e.g., leads 16A, 16B). As previously described, the patient anatomydata may be created based on a medical imaging technique, such as, butnot limited to, computed tomography and magnetic resonance imaging.Processor 90 may store the patient anatomy data within memory 92 (FIG.6).

Processor 90 may enter the patient anatomy data in stored electricalfield model equations or equation sets to satisfy anatomical variable(182). Processor 90 may determine the electrical field model from thedata and equations (184). Once processor 90 receives stimulation inputfrom a user defining the stimulation field, e.g., via user interface 88(186), the electrical field may be displayed to the user via a displayof programmer 20 (188). In some cases, processor 90 may receive anindication change in the stimulation input from a user (190), and themodified electrical field model may be presented to the user (188). Thealgorithmic model of the electrical field model displayed to the user(188).

FIG. 16 is a flow diagram illustrating an example technique fordetermining and displaying the activation field model of definedstimulation. As shown in FIG. 17, processor 90 receives patient anatomydata indicative of the anatomy of patient 12 (180) and determines theelectrical field model from the patient anatomy data (184). Processor 90retrieves a neuron model from memory 92 (FIG. 6) and fits the neuronmodel to the electrical field model (192). Processor 90 may determinethe activation field model based upon the electrical field model andneuron model (194).

Processor 90 may receive stimulation input from a user defining thestimulation field, e.g., via user interface 88 (186). Processor 90 maypresent the resulting activation field model to the user via a displayof programmer 20 (196). If the clinician desires to change thestimulation input (190), processor 90 may receive user input from theclinician via user interface 88, where the input indicates amodification to the previous stimulation input (186). In some cases,processor 90 may receive an indication change in the stimulation inputfrom a user (190), and the modified electrical activation field modelmay be presented to the user (196).

In some examples, GUIs 130 (FIG. 12), 150 (FIG. 13), and 152 (FIG. 15)may include a representation of anatomical regions proximate to thetarget tissue site for therapy delivery in addition to the lead icon131. The representation of the target anatomical region may be an actualimage of the patient's tissue produced with MRI, CT, or another imagingmodality, or may be an atlas that is representative of the generalanatomical structure of the target tissue site, and may not be specificto patient 12. The representation of the relevant anatomical region forthe therapy delivery may be useful for determining whether therapysubfields generated based upon a therapy field are acceptable, e.g.,whether the therapy subfields cover the same target anatomical structureas the therapy field. This may be particularly important when the targettissue site is within the brain of patient 12.

In addition, in some examples, GUIs 130 (FIG. 12), 150 (FIG. 13), and152 (FIG. 15) may present therapy fields within a 3D environment.Although FIGS. 11-14 2D views of leads, in other examples, a userinterface may present a 3D view of one or more leads and the associatedelectrical field and activation fields may be displayed relative to the3D views of the leads.

The techniques described in this disclosure, including those attributedto processors 24 and 90, energy calculators 34 and 98, parametergenerators 38 and 101, or various constituent components, may beimplemented, at least in part, in hardware, software, firmware or anycombination thereof. For example, various aspects of the techniques maybe implemented within one or more processors, including one or moremicroprocessors, DSPs, ASICs, FPGAs, or any other equivalent integratedor discrete logic circuitry, as well as any combinations of suchcomponents, embodied in programmers, such as physician or patientprogrammers, stimulators, or other devices. The term “processor” or“processing circuitry” may generally refer to any of the foregoing logiccircuitry, alone or in combination with other logic circuitry, or anyother equivalent circuitry.

Such hardware, software, firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. In addition, any of thedescribed units, modules or components may be implemented together orseparately as discrete but interoperable logic devices. Depiction ofdifferent features as modules or units is intended to highlightdifferent functional aspects and does not necessarily imply that suchmodules or units must be realized by separate hardware or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware or software components, orintegrated within common or separate hardware or software components.

When implemented in software, the functionality ascribed to the systems,devices and techniques described in this disclosure may be embodied asinstructions on a computer-readable storage medium such as RAM, ROM,NVRAM, EEPROM, FLASH memory, magnetic data storage media, optical datastorage media, or the like. The instructions may be executed to supportone or more aspects of the functionality described in this disclosure.

The techniques described in this disclosure can be applied forelectrical stimulation when the energy of requested electricalstimulation is greater than the maximum energy output of all thechannels of IMD 14, or less than all of the channels of IMD 14 (e.g., asingle channel), for electrical stimulation systems applicable to any ofa wide variety of symptoms or conditions such as chronic pain, tremor,Parkinson's disease, epilepsy, urinary or fecal incontinence, sexualdysfunction, obesity, or gastroparesis. For example, the techniques maybe applied to implantable medical devices configured to deliverneurostimulation or other electrical stimulation therapy via implantedelectrode arrays, carried by leads or otherwise, located proximate tothe spinal cord, pelvic nerves, peripheral nerves, the stomach or othergastrointestinal organs, or within the brain of a patient.

The invention claimed is:
 1. A method comprising: with a processor,comparing an energy associated with a stimulation signal to a thresholdvalue, wherein a therapy program comprises at least one stimulationparameter value defining the stimulation signal; and with the processor,modifying the therapy program to decompose the stimulation signal into aplurality of subsignals based on the comparison between the energyassociated with the stimulation signal and the threshold value.
 2. Themethod of claim 1, wherein the energy is a first energy and a secondenergy associated with each of the plurality of subsignals is less thanor equal to the first energy associated with the stimulation signal. 3.The method of claim 1, wherein the stimulation signal defines a firstsignal envelope and the plurality of subsignals define a second signalenvelope that substantially conforms to the first signal envelope. 4.The method of claim 1, wherein the threshold value is based on a maximumenergy output of a medical device that delivers therapy to a patientbased on the therapy program or a channel of the medical device.
 5. Themethod of claim 1, wherein the threshold value is based on an expectedminimum energy value that a medical device can provide at the end of apredetermined time period, wherein the medical device delivers therapyto a patient based on the therapy program.
 6. The method of claim 1,further comprising delivering the plurality of subsignals to a targettissue site within a patient.
 7. The method of claim 1, wherein the atleast one stimulation parameter value comprises at least one of a pulsewidth value or an amplitude value, and wherein comparing the energyassociated with the stimulation signal to the threshold value comprises,with the processor, determining an energy associated with thestimulation signal based on the at least one of the pulse width value orthe amplitude value.
 8. The method of claim 1, wherein modifying thetherapy program to decompose the stimulation signal comprises, with theprocessor, generating at least one subprogram that comprises a subsignalamplitude value that is substantially equal to a signal amplitude valuedefined by the therapy program, a subsignal duration value that is lessthan a signal duration value defined by the therapy program, and a firstfrequency value that is greater than a second frequency value defined bythe therapy program.
 9. The method of claim 8, wherein generating atleast one subprogram comprises generating a plurality of subprograms.10. The method of claim 9, further comprising delivering therapy to atarget tissue site within a patient according to each of the subprogramsvia a respective channel of a medical device.
 11. The method of claim 1,wherein the energy associated with the stimulation signal comprises afirst energy and each subsignal is associated with a respective secondenergy, and a sum of the second energies associated with the pluralityof respective subsignals is less than the first energy associated withthe stimulation signal.
 12. The method of claim 1, wherein the energyassociated with the stimulation signal comprises a first energy and eachsubsignal is associated with a respective second energy, and a sum ofthe second energies associated with the plurality of respectivesubsignals is greater than the first energy associated with thestimulation signal, wherein the second energy associated with eachrespective subsignal is less than the first energy associated with thestimulation signal.
 13. The method of claim 1, wherein modifying thetherapy program to decompose the stimulation signal comprises, with theprocessor, setting an interval of time between subsignals to be lessthan a duration of a carry-over effect of delivery of stimulationaccording to at least one of the subsignals.
 14. The method of claim 1,wherein modifying the therapy program to decompose the stimulationsignal of the therapy program into a plurality of subsignals comprises,with the processor: selecting a timing window; setting an interval oftime between subsignals; setting a pulse width value of each of thesubsignals; and determining whether an energy associated with thesubsignals is less than the threshold value.
 15. The method of claim 14,wherein setting a pulse width value of each of the subsignals comprisessubtracting the duration of the timing window and the duration betweensubsignals.
 16. The method of claim 1, further comprising, with theprocessor, receiving information that defines the therapy program.
 17. Asystem comprising: a memory that stores a therapy program comprising atleast one stimulation parameter defining a stimulation signal; and aprocessor that determines a first energy associated with the stimulationsignal, compares the first energy to a threshold value, and modifies thetherapy program to decompose the stimulation signal of the therapyprogram into a plurality of subsignals based on the comparison betweenthe energy and the threshold value, wherein a second energy associatedwith each of the plurality of subsignals is less than the first energyassociated with the stimulation signal.
 18. The system of claim 17,wherein at least two of the subsignals are associated with differentenergies.
 19. The system of claim 17, wherein the stimulation signaldefines a first signal envelope and the plurality of subsignals define asecond signal envelope that substantially conforms to the first signalenvelope.
 20. The system of claim 17, wherein the threshold value isbased on a maximum energy output of a medical device that deliverstherapy to a patient based on the therapy program or a channel of themedical device.
 21. The system of claim 17, wherein the threshold valueis based on an expected minimum energy value that a medical device canprovide at the end of a predetermined time period, wherein the medicaldevice delivers therapy to a patient according to the plurality ofsubsignals.
 22. The system of claim 17, further comprising a medicaldevice that delivers therapy to the patient according to the pluralityof subsignals.
 23. The system of claim 17, wherein the processormodifies the therapy program to decompose the stimulation signal of thetherapy program into a plurality of subsignals by at least generating atleast one subprogram that comprises a subsignal amplitude value that issubstantially equal to a signal amplitude value defined by the therapyprogram, a subsignal duration value that is less than a signal durationvalue defined by the therapy program, and a first frequency value thatis greater than a second frequency value defined by the therapy program.24. The system of claim 17, wherein the processor sets an interval oftime between subsignals to be less than a duration of a carry-overeffect of delivery of stimulation according to at least one of thesubsignals.
 25. The system of claim 17, wherein the processor sets aninterval of time between subsignals to be greater than a duration of acarry-over effect of delivery of stimulation according to at least oneof the subsignals.
 26. The system of claim 17, wherein the processormodifies the therapy program by at least setting a duration of a timingwindow that defines each one of the plurality of subsignals, setting aninterval of time between subsignals, and setting a pulse width parameterof each of the subsignals by subtracting the duration of the timingwindow and the duration between subsignals.
 27. The system of claim 26,wherein the duration between subsignals is less than the duration of acarry-over effect.
 28. A computer-readable storage medium comprisinginstructions that cause a programmable processor to: compare an energyassociated with a stimulation signal to a threshold value, wherein atherapy program comprises at least one stimulation parameter definingthe stimulation signal; and modify the therapy program to decompose thestimulation signal into a plurality of subsignals based on thecomparison between the energy associated with the stimulation signal andthe threshold value.
 29. The computer-readable storage medium of claim28, wherein the threshold value is a maximum energy output of a medicaldevice that delivers therapy to a patient based on the therapy programor a channel of the medical device.
 30. A system comprising: means forcomparing an energy associated with a stimulation signal to a thresholdvalue, wherein a therapy program comprises at least one stimulationparameter defining the stimulation signal; and means for modifying thetherapy program to decompose the stimulation signal into a plurality ofsubsignals based on the comparison between the energy associated withthe stimulation signal and the threshold value.
 31. The system of claim30, wherein the means for modifying the therapy program to decompose thestimulation signal comprises means for generating at least onesubprogram that comprises a subsignal amplitude value that issubstantially equal to a signal amplitude value defined by the therapyprogram, a subsignal duration value that is less than a signal durationvalue defined by the therapy program, and a first frequency value thatis greater than a second frequency value defined by the therapy program.